Code coverage tests
This page documents the degree to which the PARI/GP source code is tested by
our public test suite, distributed with the source distribution in directory
src/test/
. This is measured by the gcov utility; we then
process gcov output using the lcov frond-end.
We test a few variants depending on Configure
flags
on the pari.math.u-bordeaux.fr
machine (x86_64
architecture), and agregate them in the final report:
- with GMP kernel
- with GMP kernel using --mt=pthread
- with native kernel, including micro-assembler code
- with native kernel, without micro-assembler
- with native kernel, without micro-assembler, disabling GCC extensions
(DISABLE_INLINE)
- with GMP kernel, emulating an
x86_32
architecture at
Configure time via setarch
The target is to exceed 90% coverage for all mathematical modules
(given that branches depending on DEBUGLEVEL
or DEBUGMEM
are not covered). This script is
run to produce the results below.
LCOV - code coverage report |
 |
|
 |
|
|
|
|
|
|
Filename  |
Line Coverage  |
Functions  |
anal.c |
|
91.8 % |
636 / 693 |
94.1 % |
95 / 101 |
compile.c |
|
91.0 % |
1594 / 1751 |
97.8 % |
88 / 90 |
default.c |
|
62.9 % |
358 / 569 |
62.7 % |
42 / 67 |
es.c |
|
74.3 % |
2045 / 2752 |
82.1 % |
253 / 308 |
eval.c |
|
69.9 % |
1252 / 1790 |
77.2 % |
115 / 149 |
forprime.c |
|
84.4 % |
407 / 482 |
87.2 % |
34 / 39 |
gplib.c |
|
54.7 % |
522 / 955 |
64.9 % |
63 / 97 |
hash.c |
|
87.4 % |
160 / 183 |
96.8 % |
30 / 31 |
init.c |
|
77.5 % |
1156 / 1491 |
82.7 % |
134 / 162 |
intnum.c |
|
97.0 % |
1548 / 1596 |
98.5 % |
129 / 131 |
members.c |
|
98.5 % |
326 / 331 |
100.0 % |
54 / 54 |
parse.c |
|
75.2 % |
392 / 521 |
100.0 % |
5 / 5 |
parse.y |
|
94.0 % |
110 / 117 |
- |
0 / 0 |
parsec.h |
|
95.1 % |
98 / 103 |
100.0 % |
17 / 17 |
readline.c |
|
0.0 % |
0 / 186 |
0.0 % |
0 / 17 |
str.c |
|
100.0 % |
107 / 107 |
100.0 % |
14 / 14 |
sumiter.c |
|
96.5 % |
1185 / 1228 |
99.0 % |
101 / 102 |