aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2023-10-28 23:36:56 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2023-11-06 00:46:26 +0100
commitc5ed058b70c4d9188cfe8a4f3307d1b43c7fc197 (patch)
tree9fde29f1a7f5cc4ffe33fd86fb9da0492532b2b1
parentAdd tests for xmllint. (diff)
downloadcalp-c5ed058b70c4d9188cfe8a4f3307d1b43c7fc197.tar.gz
calp-c5ed058b70c4d9188cfe8a4f3307d1b43c7fc197.tar.xz
Add basic tests for coverage manipulation.
-rw-r--r--module/hnh/util/coverage.scm6
-rw-r--r--tests/unit/util/coverage.scm33
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))