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:

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
Current view: top level - language - sumiter.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.16.2 lcov report (development 29115-f22e516b23) Lines: 1236 1300 95.1 %
Date: 2024-03-28 08:06:56 Functions: 105 105 100.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
prodinf1 7
sumalt2 7
_next_void 14
asympnumraw 14
asympnumraw0 14
fordiv 14
fordivfactored 14
prodeuler 14
prodeuler0 14
prodinf 14
rfrac_val_deriv 14
solvedivlog 14
sumpos2 14
vecpows 14
forsquarefreeneg 21
forsquarefreepos 21
laurentseries 21
_fordiv 28
negcmp 28
prodinf0 28
sum_init 28
sumalt0 28
suminf 28
suminf0 28
_evalclosprec 35
forsquarefree 35
laurentseries0 35
polzag 35
solvestep0 35
forvec_mod_cyc_init 42
asympnum 49
sumdivmultexpr 49
sumdivmultexpr0 49
asympnum0 56
sumdivexpr 56
_next 63
forfactoredpos 63
eval0 70
sumpos 70
zbrent0 77
_next_lt 84
forfactoredneg 84
limitnum 84
polzag1 84
sumalt 84
sumpos_init 84
limitnum0 91
sumpos0 91
derivfun0 105
solvestep 119
direuler0 133
limit_Nprec 133
FD 140
forfactored 140
get_accu 140
get_u 140
limit_init 140
vfact 140
get_c 147
_next_le 154
sumalt_N 154
get_fun 161
_g 166
derivnumk 168
vecexpr1 175
no_sieve 189
chk_ind 203
_next_le_i 206
deriv_eval 322
chk_ord 385
foreachpari 448
vvecteur 581
vecteursmall 791
derivnum 966
limitnum_i 983
derivfun 987
derivnum0 1085
derivfunk 1190
delt 1295
forstep 1638
proddiff 3003
forvec 7070
RgV_is_ZV_nonneg 7144
forvec_init 7151
_next_mod_cyc 8463
binsum 8953
_gi 20822
zbrent 25056
somme 70217
vecexpr0 115791
produit 120694
matrice 160944
_next_i 183656
untilpari 222074
_next_lt_i 1173574
iferrpari 1278023
forvec_next 1366214
whilepari 1794728
vecteur 2364326
copyupto 2806862
zv_to_ZM 4255559
zv_to_mZM 4255559
forparii 5111900
forpari 5111907
Flm2negfact 7001582

Generated by: LCOV version 1.14