print_coverage/[0,1] [development]print_coverage
Prints the coverage data accumulated so far, to the current output stream, in a hierarchical format.
print_coverage(+Data)
Prints the coverage data Data, to the current output stream, in
a hierarchical format. Data should be of type list of
coverage_pair; see coverage_data/1.
The output is formatted hierarchically into blocks of lines, one block per source file. A typical block looks like:
/home/matsc/tmp/primes.pl
user:integers/3
clause 1
5: 100
8: 99
clause 2
9: 1
user:primes/2
clause 1
1: 1
2: 1
3: *1
user:remove/3
clause 1
16: 436
clause 2
17: 411
20: *337
clause 3
21: 74
22: *74
user:sift/2
clause 1
11: 1
clause 2
12: 25
13: *25
14: *25
This block lists all the coverage sites for the given file. They are distributed over 4 predicates, 8 clauses, and 16 active lines of code. The coverage site on line 8 was hit 99 times. The coverage site on line 20 was hit 337 times, making at least one nondet call. And so on.
The variant print_coverage/1 is useful e.g. if you want to somehow filter
the execution coverage computed by coverage_data/1 before printing it.
Coverage Analysis. The Emacs interface has commands for code coverage highlighting of the current buffer (C-c C-o, or use the Prolog menu; see Usage).