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 |
part.c |
|
81.5 % |
154 / 189 |
92.3 % |
12 / 13 |
galpol.c |
|
83.3 % |
45 / 54 |
100.0 % |
4 / 4 |
mpqs.c |
|
84.7 % |
609 / 719 |
96.9 % |
31 / 32 |
groupid.c |
|
85.5 % |
189 / 221 |
87.5 % |
7 / 8 |
genus2red.c |
|
90.9 % |
1325 / 1458 |
100.0 % |
60 / 60 |
stark.c |
|
92.6 % |
1682 / 1817 |
98.5 % |
128 / 130 |
ellfromeqn.c |
|
94.0 % |
63 / 67 |
100.0 % |
6 / 6 |
elldata.c |
|
94.7 % |
143 / 151 |
100.0 % |
16 / 16 |
thue.c |
|
95.1 % |
939 / 987 |
98.4 % |
63 / 64 |
galois.c |
|
96.2 % |
1768 / 1838 |
97.2 % |
69 / 71 |
ratpoints.c |
|
96.8 % |
879 / 908 |
100.0 % |
33 / 33 |
krasner.c |
|
98.0 % |
439 / 448 |
100.0 % |
34 / 34 |
algebras.c |
|
99.3 % |
3511 / 3537 |
99.7 % |
307 / 308 |
forperm.c |
|
100.0 % |
37 / 37 |
100.0 % |
4 / 4 |
forsubset.c |
|
100.0 % |
53 / 53 |
100.0 % |
7 / 7 |