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.18.0 lcov report (development 29806-4d001396c7) Lines: 1233 1297 95.1 %
Date: 2024-12-22 09:08:28 Functions: 105 105 100.0 %
Legend: Lines: hit not hit

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

Generated by: LCOV version 1.16