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
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
no_sieve 189
chk_ind 203
_next_le_i 206
deriv_eval 322
chk_ord 385
vecteursmall 791
derivnum 966
foreachpari 980
limitnum_i 983
derivfun 987
derivnum0 1085
derivfunk 1190
delt 1295
forstep 1638
vvecteur 1981
vecexpr1 2114
proddiff 3003
forvec 7070
RgV_is_ZV_nonneg 7144
forvec_init 7151
_next_mod_cyc 8463
binsum 8953
_gi 20822
zbrent 23422
somme 70231
produit 120694
vecexpr0 132724
matrice 161168
_next_i 183656
untilpari 222074
_next_lt_i 1173574
iferrpari 1278234
forvec_next 1366214
whilepari 1794728
vecteur 2369639
copyupto 2841666
zv_to_ZM 4255559
zv_to_mZM 4255559
forparii 5112656
forpari 5112663
Flm2negfact 7001582

Generated by: LCOV version 1.16