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 |
 |
|
|
 |
|
|
|
|
|
|
Directory  |
Line Coverage  |
Functions  |
| gp |
|
39.9 % |
277 / 695 |
36.1 % |
22 / 61 |
| graph |
|
59.5 % |
1012 / 1701 |
65.0 % |
104 / 160 |
| mt |
|
67.3 % |
70 / 104 |
66.7 % |
22 / 33 |
| language |
|
73.8 % |
11375 / 15407 |
76.8 % |
1094 / 1425 |
| headers |
|
92.5 % |
1427 / 1542 |
91.9 % |
654 / 712 |
| basemath |
|
91.3 % |
126539 / 138619 |
93.4 % |
11642 / 12459 |
| kernel/none |
|
95.4 % |
3529 / 3698 |
93.8 % |
410 / 437 |
| kernel/gmp |
|
95.4 % |
787 / 825 |
95.0 % |
57 / 60 |
| modules |
|
95.5 % |
11883 / 12443 |
99.0 % |
801 / 809 |