summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2011-03-02 14:23:21 +1030
committerRusty Russell <rusty@rustcorp.com.au>2011-03-02 14:23:21 +1030
commit37c06f735fe985f19f6fadf47d03b15fa45b5317 (patch)
tree6a35338c61c36404fdb1abd9db6711839fdf5e2f
parent975dff721336d8902d9ae737c360865205100451 (diff)
ccanlint: don't fail just because we don't have positive tests.
cast package has all negative tests, plus testable examples.
-rw-r--r--tools/ccanlint/tests/tests_coverage.c9
-rw-r--r--tools/ccanlint/tests/tests_exist.c11
2 files changed, 13 insertions, 7 deletions
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;