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 |
level1.h |
|
79.3 % |
607 / 765 |
76.8 % |
219 / 285 |
mp_indep.c |
|
94.4 % |
540 / 572 |
98.1 % |
52 / 53 |
mp.c |
|
96.7 % |
1115 / 1153 |
98.6 % |
69 / 70 |
divll.h |
|
100.0 % |
34 / 34 |
100.0 % |
1 / 1 |
bfffo.h |
|
100.0 % |
8 / 8 |
100.0 % |
1 / 1 |
mulll.h |
|
100.0 % |
25 / 25 |
100.0 % |
2 / 2 |
invmod.c |
|
100.0 % |
51 / 51 |
100.0 % |
2 / 2 |
ratlift.c |
|
90.7 % |
98 / 108 |
100.0 % |
3 / 3 |
gcdext.c |
|
97.6 % |
122 / 125 |
100.0 % |
4 / 4 |
gcd.c |
|
100.0 % |
66 / 66 |
100.0 % |
4 / 4 |
addll.h |
|
100.0 % |
16 / 16 |
100.0 % |
4 / 4 |
divll_pre.h |
|
100.0 % |
48 / 48 |
100.0 % |
5 / 5 |
cmp.c |
|
95.8 % |
68 / 71 |
100.0 % |
7 / 7 |
add.c |
|
100.0 % |
187 / 187 |
100.0 % |
10 / 10 |
gcdll.c |
|
99.4 % |
338 / 340 |
100.0 % |
14 / 14 |
halfgcd.c |
|
98.2 % |
215 / 219 |
100.0 % |
20 / 20 |