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 |
![](../glass.png) |
|
![](../glass.png) |
|
|
|
|
|
|
Filename ![Sort by name Sort by name](../glass.png) |
Line Coverage ![Sort by line coverage Sort by line coverage](../updown.png) |
Functions ![Sort by function coverage Sort by function coverage](../updown.png) |
anal.c |
|
91.8 % |
636 / 693 |
94.1 % |
95 / 101 |
compile.c |
|
90.9 % |
1607 / 1767 |
97.8 % |
88 / 90 |
default.c |
|
63.1 % |
373 / 591 |
62.9 % |
44 / 70 |
es.c |
|
73.8 % |
2052 / 2781 |
81.9 % |
254 / 310 |
eval.c |
|
69.0 % |
1304 / 1890 |
75.5 % |
117 / 155 |
forprime.c |
|
87.6 % |
440 / 502 |
94.7 % |
36 / 38 |
gplib.c |
|
56.2 % |
572 / 1018 |
66.0 % |
68 / 103 |
hash.c |
|
87.9 % |
167 / 190 |
96.9 % |
31 / 32 |
init.c |
|
77.8 % |
1170 / 1503 |
84.0 % |
137 / 163 |
intnum.c |
|
97.0 % |
1584 / 1633 |
99.2 % |
132 / 133 |
members.c |
|
98.5 % |
330 / 335 |
100.0 % |
55 / 55 |
parse.c |
|
76.8 % |
424 / 552 |
87.5 % |
7 / 8 |
parse.y |
|
94.1 % |
111 / 118 |
- |
0 / 0 |
parsec.h |
|
95.1 % |
98 / 103 |
100.0 % |
17 / 17 |
readline.c |
|
0.0 % |
0 / 185 |
0.0 % |
0 / 17 |
str.c |
|
89.5 % |
111 / 124 |
93.3 % |
14 / 15 |
sumiter.c |
|
95.1 % |
1236 / 1300 |
100.0 % |
105 / 105 |