X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=tools%2Fccanlint%2Ftests%2Ftests_exist.c;h=24c4d8776ac241265f371767b1a4292e74f353e2;hp=57fd4e11769e664b77afdab30a24f3a145c9a740;hb=HEAD;hpb=60824f8a0f758dc7808eb31cc83434ea78f44ed1 diff --git a/tools/ccanlint/tests/tests_exist.c b/tools/ccanlint/tests/tests_exist.c index 57fd4e11..24c4d877 100644 --- a/tools/ccanlint/tests/tests_exist.c +++ b/tools/ccanlint/tests/tests_exist.c @@ -1,4 +1,6 @@ #include +#include +#include #include #include #include @@ -8,15 +10,23 @@ #include #include #include -#include +static void check_tests_exist(struct manifest *m, + unsigned int *timeleft, struct score *score); + +static struct ccanlint tests_exist = { + .key = "tests_exist", + .name = "Module has test directory with tests in it", + .check = check_tests_exist, + .needs = "info_exists" +}; REGISTER_TEST(tests_exist); -static void handle_no_tests(struct manifest *m, struct score *score) +static void handle_no_tests(struct manifest *m, struct score *score UNNEEDED) { FILE *run; struct ccan_file *i; - char *test_dir = talloc_asprintf(m, "%s/test", m->dir), *run_file; + char *test_dir = tal_fmt(m, "%s/test", m->dir), *run_file; printf( "CCAN modules have a directory called test/ which contains tests.\n" @@ -55,17 +65,17 @@ static void handle_no_tests(struct manifest *m, struct score *score) err(1, "Creating test/ directory"); } - run_file = talloc_asprintf(test_dir, "%s/run.c", test_dir); + run_file = tal_fmt(test_dir, "%s/run.c", test_dir); run = fopen(run_file, "w"); if (!run) err(1, "Trying to create a test/run.c"); - fprintf(run, "#include \n", m->basename, m->basename); + fprintf(run, "#include \n", m->modname, m->basename); if (!list_empty(&m->c_files)) { fputs("/* Include the C files directly. */\n", run); list_for_each(&m->c_files, i, list) fprintf(run, "#include \n", - m->basename, i->name); + m->modname, i->name); } fprintf(run, "%s", "#include \n\n" @@ -94,14 +104,14 @@ static void handle_no_tests(struct manifest *m, struct score *score) } static void check_tests_exist(struct manifest *m, - bool keep, - unsigned int *timeleft, struct score *score) + unsigned int *timeleft UNNEEDED, + struct score *score) { struct stat st; - char *test_dir = talloc_asprintf(m, "%s/test", m->dir); + char *test_dir = path_join(m, m->dir, "test"); if (lstat(test_dir, &st) != 0) { - score->error = talloc_strdup(score, "No test directory"); + score->error = tal_strdup(score, "No test directory"); if (errno != ENOENT) err(1, "statting %s", test_dir); tests_exist.handle = handle_no_tests; @@ -111,7 +121,7 @@ static void check_tests_exist(struct manifest *m, } if (!S_ISDIR(st.st_mode)) { - score->error = talloc_strdup(score, "test is not a directory"); + score->error = tal_strdup(score, "test is not a directory"); return; } @@ -119,19 +129,10 @@ static void check_tests_exist(struct manifest *m, && list_empty(&m->run_tests) && list_empty(&m->compile_ok_tests) && list_empty(&m->compile_fail_tests)) { - score->error = talloc_strdup(score, - "No tests in test directory"); + score->error = tal_strdup(score, "No tests in test directory"); tests_exist.handle = handle_no_tests; return; } score->pass = true; score->score = score->total; } - -struct ccanlint tests_exist = { - .key = "tests_exist", - .name = "Module has test directory with tests in it", - .check = check_tests_exist, - .needs = "info_exists" -}; -