int main(int ac, char **av) { int lc; const char *msg; if ((msg = parse_opts(ac, av, NULL, NULL))) tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg); setup(); for (lc = 0; TEST_LOOPING(lc); lc++) splice_test(); cleanup(); tst_exit(); }
int main(int ac, char **av) { int lc; char *msg; int results; /* Disable test if the version of the kernel is less than 2.6.17 */ if (((results = tst_kvercmp(2, 6, 17)) < 0)) { tst_resm(TINFO, "This test can only run on kernels that are "); tst_resm(TINFO, "2.6.17 and higher"); exit(0); } /* * parse standard options */ if ((msg = parse_opts(ac, av, NULL, NULL))) tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg); /* * perform global setup for test */ setup(); tst_tmpdir(); if (tst_fs_type(cleanup, ".") == TST_NFS_MAGIC) { tst_brkm(TCONF, cleanup, "Cannot do splice on a file on NFS filesystem"); } tst_rmdir(); /* * check looping state if -c option given */ for (lc = 0; TEST_LOOPING(lc); lc++) { tst_count = 0; /* * Call splice_test */ TEST(splice_test()); /* check return code */ if (TEST_RETURN < 0) { if (TEST_RETURN != -1) { TEST_ERRNO = -TEST_RETURN; } TEST_ERROR_LOG(TEST_ERRNO); tst_resm(TFAIL, "splice() Failed, errno=%d : %s", TEST_ERRNO, strerror(TEST_ERRNO)); } else { /* * only perform functional verification if flag set (-f not given) */ if (STD_FUNCTIONAL_TEST) { /* No Verification test, yet... */ tst_resm(TPASS, "splice() returned %ld", TEST_RETURN); } } } /* * cleanup and exit */ cleanup(); return (0); }