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_32architecture at
Configure time viasetarch
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  | 
    
      | mp.c |  | 95.0 % | 683 / 719 | 96.4 % | 54 / 56 | 
    
      | gcd.c |  | 100.0 % | 30 / 30 | 100.0 % | 2 / 2 | 
    
      | gcdext.c |  | 100.0 % | 76 / 76 | 100.0 % | 2 / 2 |