X-Git-Url: https://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=tools%2Fccanlint%2Ftests%2Ftests_exist.c;h=efa997536c969ee3373b4c6193664f99028bd9ed;hp=64b2691e0eaceba570e0e7595cda0a543b3e134d;hb=0621cac3bf1b5cf4c90de56e0e43b0acde0c94f1;hpb=7bb7cd58c2d9df126dd6072e5f3bec1eb4dc916b diff --git a/tools/ccanlint/tests/tests_exist.c b/tools/ccanlint/tests/tests_exist.c index 64b2691e..efa99753 100644 --- a/tools/ccanlint/tests/tests_exist.c +++ b/tools/ccanlint/tests/tests_exist.c @@ -10,13 +10,22 @@ #include #include -extern struct ccanlint tests_exist; +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) { FILE *run; struct ccan_file *i; - char *test_dir = talloc_asprintf(m, "%s/test", m->dir); + char *test_dir = talloc_asprintf(m, "%s/test", m->dir), *run_file; printf( "CCAN modules have a directory called test/ which contains tests.\n" @@ -55,7 +64,8 @@ static void handle_no_tests(struct manifest *m, struct score *score) err(1, "Creating test/ directory"); } - run = fopen("test/run.c", "w"); + run_file = talloc_asprintf(test_dir, "%s/run.c", test_dir); + run = fopen(run_file, "w"); if (!run) err(1, "Trying to create a test/run.c"); @@ -93,7 +103,6 @@ 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) { struct stat st; @@ -104,6 +113,8 @@ static void check_tests_exist(struct manifest *m, if (errno != ENOENT) err(1, "statting %s", test_dir); tests_exist.handle = handle_no_tests; + /* We "pass" this. */ + score->pass = true; return; } @@ -114,25 +125,13 @@ static void check_tests_exist(struct manifest *m, if (list_empty(&m->api_tests) && list_empty(&m->run_tests) - && list_empty(&m->compile_ok_tests)) { - if (list_empty(&m->compile_fail_tests)) { - score->error = talloc_strdup(score, + && list_empty(&m->compile_ok_tests) + && list_empty(&m->compile_fail_tests)) { + score->error = talloc_strdup(score, "No tests in test directory"); - tests_exist.handle = handle_no_tests; - } else - score->error = talloc_strdup(score, - "No positive 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 = "" -}; - -REGISTER_TEST(tests_exist);