summaryrefslogtreecommitdiff
path: root/module/system
diff options
context:
space:
mode:
authorJessica Tallon <tsyesika@tsyesika.se>2022-04-13 15:57:24 +0200
committerLudovic Courtès <ludo@gnu.org>2022-06-16 10:01:06 +0200
commit4456245753ff925cafd3e72d130761b6f1c2c419 (patch)
tree526b09631be7442d2f3ddb5566cd90402c56d1b3 /module/system
parent01b686b701dc06f6623f0cc75acd4583c0296333 (diff)
downloadguile-4456245753ff925cafd3e72d130761b6f1c2c419.tar.gz
Add missing #:modules argument for coverage-data->lcov.
The code coverage function `coverage-data->lcov` has a documented `modules` argument, however that was missing from the source. I have added it so when supplied it only converts the coverage data for the supplied modules. If not supplied it defaults the old behavour of including all the modules currently loaded. * module/system/vm/coverage.scm (coverage-data->lcov): Add #:modules parameter and honor it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'module/system')
-rw-r--r--module/system/vm/coverage.scm12
1 files changed, 9 insertions, 3 deletions
diff --git a/module/system/vm/coverage.scm b/module/system/vm/coverage.scm
index 0d51e261a..f1d65cc6c 100644
--- a/module/system/vm/coverage.scm
+++ b/module/system/vm/coverage.scm
@@ -300,7 +300,7 @@ was loaded at the time DATA was collected."
;;; LCOV output.
;;;
-(define* (coverage-data->lcov data port)
+(define* (coverage-data->lcov data port #:key (modules #f))
"Traverse code coverage information DATA, as obtained with
`with-code-coverage', and write coverage information in the LCOV format to PORT.
The report will include all the modules loaded at the time coverage data was
@@ -325,6 +325,12 @@ gathered, even if their code was not executed."
;; Output per-file coverage data.
(format port "TN:~%")
+ (define source-files
+ (filter
+ (lambda (file)
+ (or (not modules) (member file modules)))
+ (instrumented-source-files data)))
+
(for-each (lambda (file)
(let ((path (search-path %load-path file)))
(if (string? path)
@@ -345,6 +351,6 @@ gathered, even if their code was not executed."
(format port "end_of_record~%"))
(begin
(format (current-error-port)
- "skipping unknown source file: ~a~%"
+ "skipping source file: ~a~%"
file)))))
- (instrumented-source-files data)))
+ source-files))