]> git.ozlabs.org Git - ccan/blobdiff - tools/ccanlint/tests/run-coverage.c
ccanlint: give a bonus for 100% code coverage
[ccan] / tools / ccanlint / tests / run-coverage.c
index a526d55e8237cf4ed58afac49cc30d208a1a5d20..7f2b3c24a0f7766d49d322d892ce3d83723c0a8e 100644 (file)
@@ -32,12 +32,16 @@ static bool find_source_file(const struct manifest *m, const char *filename)
        return false;
 }
 
-/* 1 point for 50%, 2 points for 75%, 3 points for 87.5%... */
+/* 1 point for 50%, 2 points for 75%, 3 points for 87.5%...  Bonus for 100%. */
 static unsigned int score_coverage(float covered, unsigned total)
 {
        float thresh, uncovered = 1.0 - covered;
        unsigned int i;
 
+       if (covered == 1.0)
+               return total;
+
+       total--;
        for (i = 0, thresh = 0.5; i < total; i++, thresh /= 2) {
                if (uncovered > thresh)
                        break;
@@ -112,7 +116,7 @@ static void analyze_coverage(struct manifest *m, bool full_gcov,
        if (total_lines == 0)
                score->total = score->score = 0;
        else {
-               score->total = 5;
+               score->total = 6;
                score->score = score_coverage(covered_lines / total_lines,
                                              score->total);
        }