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  |
| basemath |
|
92.5 % |
119164 / 128827 |
94.4 % |
10843 / 11484 |
| gp |
|
51.5 % |
371 / 720 |
48.4 % |
31 / 64 |
| graph |
|
81.5 % |
1325 / 1626 |
80.9 % |
123 / 152 |
| headers |
|
90.9 % |
1451 / 1596 |
90.2 % |
645 / 715 |
| kernel/gmp |
|
92.5 % |
764 / 826 |
98.3 % |
59 / 60 |
| kernel/none |
|
93.6 % |
3477 / 3713 |
85.7 % |
407 / 475 |
| language |
|
80.1 % |
11893 / 14849 |
84.8 % |
1173 / 1383 |
| modules |
|
94.1 % |
11246 / 11951 |
98.3 % |
730 / 743 |
| mt |
|
95.1 % |
309 / 325 |
90.4 % |
47 / 52 |