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 | 
    |  | 
    
      |  | 
    |  | 
  
  
  
    
      | 
 |  |  |  |  |  | 
    
      | Directory  | Line Coverage  | Functions  | 
    
      | gp |  | 50.1 % | 348 / 695 | 45.9 % | 28 / 61 | 
    
      | graph |  | 78.1 % | 1328 / 1701 | 76.9 % | 123 / 160 | 
    
      | language |  | 79.6 % | 12213 / 15336 | 84.8 % | 1203 / 1419 | 
    
      | mt |  | 93.8 % | 315 / 336 | 85.7 % | 48 / 56 | 
    
      | headers |  | 92.7 % | 1426 / 1539 | 92.1 % | 653 / 709 | 
    
      | basemath |  | 91.6 % | 126468 / 138095 | 93.6 % | 11638 / 12430 | 
    
      | kernel/none |  | 95.5 % | 3530 / 3698 | 94.1 % | 411 / 437 | 
    
      | kernel/gmp |  | 95.6 % | 789 / 825 | 96.7 % | 58 / 60 | 
    
      | modules |  | 95.5 % | 11868 / 12429 | 99.0 % | 798 / 806 |