From: Rusty Russell Date: Wed, 2 Mar 2011 03:53:21 +0000 (+1030) Subject: ccanlint: don't fail just because we don't have positive tests. X-Git-Url: http://git.ozlabs.org/?p=ccan;a=commitdiff_plain;h=37c06f735fe985f19f6fadf47d03b15fa45b5317 ccanlint: don't fail just because we don't have positive tests. cast package has all negative tests, plus testable examples. --- diff --git a/tools/ccanlint/tests/tests_coverage.c b/tools/ccanlint/tests/tests_coverage.c index 67829e96..a8da103f 100644 --- a/tools/ccanlint/tests/tests_coverage.c +++ b/tools/ccanlint/tests/tests_coverage.c @@ -135,6 +135,7 @@ static void do_run_coverage_tests(struct manifest *m, char *covcmd; bool full_gcov = (verbose > 1); struct list_head *list; + bool ran_some = false; /* This tells gcov where we put those .gcno files. */ outdir = talloc_dirname(score, m->info_file->compiled); @@ -165,9 +166,17 @@ static void do_run_coverage_tests(struct manifest *m, " failed: %s", cmdout); return; } + ran_some = true; } } + /* No tests at all? 0 out of 0 for you... */ + if (!ran_some) { + score->total = score->score = 0; + score->pass = true; + return; + } + /* Now run gcov: we want output even if it succeeds. */ if (!run_command(score, timeleft, &cmdout, "%s", covcmd)) { score->error = talloc_asprintf(score, "Running gcov: %s", diff --git a/tools/ccanlint/tests/tests_exist.c b/tools/ccanlint/tests/tests_exist.c index 86f7ef27..061a9052 100644 --- a/tools/ccanlint/tests/tests_exist.c +++ b/tools/ccanlint/tests/tests_exist.c @@ -114,14 +114,11 @@ 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;