]> git.ozlabs.org Git - ccan/blobdiff - tools/ccanlint/tests/run-coverage.c
ccanlint: make tests non-compulsory, always print score.
[ccan] / tools / ccanlint / tests / run-coverage.c
index a46b02e0722beea2941ee6aa2b184979f3cff72d..a1bd8dea59f79a4a145d16594408182f66fe01b4 100644 (file)
@@ -47,7 +47,7 @@ static void analyze_coverage(struct manifest *m,
        unsigned int i, total_lines = 0;
        bool lines_matter = false;
 
-       /* FIXME: We assume GCOV mentions all files!
+       /*
          Output looks like:
           File '../../../ccan/tdb2/private.h'
           Lines executed:0.00% of 8
@@ -99,10 +99,13 @@ static void analyze_coverage(struct manifest *m,
                }
        }
 
-       /* Nothing covered? */
-       if (total_lines == 0)
+       /* Nothing covered?  We can't tell if there's a source file which
+        * was never executed, or there really is no code to execute, so
+        * assume the latter: this test deserves no score. */
+       if (total_lines == 0) {
                res->uncovered = 1.0;
-       else
+               run_coverage_tests.total_score = 0;
+       } else
                res->uncovered = 1.0 - covered_lines / total_lines;
 }
 
@@ -206,4 +209,4 @@ struct ccanlint run_coverage_tests = {
        .describe = describe_run_coverage_tests,
 };
 
-REGISTER_TEST(run_coverage_tests, &compile_coverage_tests, NULL);
+REGISTER_TEST(run_coverage_tests, &compile_coverage_tests, &run_tests, NULL);