diff options
Diffstat (limited to '')
-rw-r--r-- | module/hnh/util/coverage.scm | 6 | ||||
-rw-r--r-- | tests/unit/util/coverage.scm | 33 |
2 files changed, 38 insertions, 1 deletions
diff --git a/module/hnh/util/coverage.scm b/module/hnh/util/coverage.scm index 9b76411b..15bdd250 100644 --- a/module/hnh/util/coverage.scm +++ b/module/hnh/util/coverage.scm @@ -1,3 +1,7 @@ +;;; Commentary: +;;; A rudamentary parser for the GCOV coverage file format. +;;; Code: + (define-module (hnh util coverage) :use-module ((hnh util) :select (group-by)) :use-module (hnh util type) @@ -9,7 +13,7 @@ :use-module ((ice-9 regex) :select (string-match match:substring)) :export (coverage-info coverage-info? - filename lines total-lines hit-lines + filename lines total-lines hit-line output-coverage parse-coverage merge-coverage)) diff --git a/tests/unit/util/coverage.scm b/tests/unit/util/coverage.scm new file mode 100644 index 00000000..7c10c9fd --- /dev/null +++ b/tests/unit/util/coverage.scm @@ -0,0 +1,33 @@ +(define-module (test util-coverage) + :use-module (srfi srfi-64) + :use-module (srfi srfi-64 test-error) + :use-module (srfi srfi-88) + :use-module (hnh util coverage)) + + +;;; coverage-info +;;; coverage-info? +;;; filename lines total-lines hit-lines +;;; output-coverage +;;; parse-coverage +;;; merge-coverage + +(test-equal + (list + (coverage-info + filename: "filename" + lines: '((2 . 3) + (1 . 2)) + total-lines: 3 + hit-lines: 2)) + (parse-coverage + "TN: +SF:filename +DA:1,2 +DA:2,3 +LH: 2 +LF: 3 +end_of_record")) + + +'((hnh util coverage)) |