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 - modules - stark.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.16.1 lcov report (development 28676-df828f1c94) Lines: 1660 1786 92.9 %
Date: 2023-08-26 07:54:43 Functions: 127 129 98.4 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
AChi 2184
AddMulCoeff 5455425
AllArtinNumbers 735
AllChars 392
AllStark 644
ArtinNumber 1015
CHI_eval 697351
CHI_eval_n 699164
CharEval 15288
CharEval_n 15344
CharNewPrec 350
ComputeCoeff 1589
ComputeKernel 448
CopyCoeff 310912
CorrectCoeff 2422
CplxModulus 322
EvalCoeff 3764622
FindModulus 322
FreeMat 6608
GCD24 813
GenusFieldQuadImag 406
GenusFieldQuadReal 14
GetST 413
GetST0 189
GetValue 1393
GetValue1 35
InitChar 385
InitMatAn 4186
InitPrimes 511
InitPrimesQuad 224
InitQuotient 1302
InitReduction 2422
IsGoodSubgroup 518
IsZero 7574308
L_vanishes_at_0 1029
LiftChar 3465
MulCoeff 2118883
NextElt 693091
Polmod2Coeff 394440
QuadGetST 259
RecCoeff 595
RecCoeff2 2065
RecCoeff3 461
ST_alloc 448
TestOne 2508
_0toCoeff 1368550
_addmulrr 49039438
_addrr 99843892
_data3 532
_sercoeff 406524
abmap_kernel 448
abmap_subgroup_image 1434
affect_coeff 406524
an_AddMul 310912
an_mul 149140
an_set0 140
an_set0_coprime 133310
bnrL1 70
bnrrootnumber 77
bnrstark 203
bnrstark_cyclic 0
ch_deg 1393
ch_get3 1701
chi_get_c 19572
chi_get_deg 56539
chk_reccoeff 425
chk_reccoeff_init 461
clear_cScT 497
compocyclo 35
compocyclop 14
computeP2 70
computean 833
computeth2 4354
cyc2elts 42364
cyc_is_cyclic 1169
d1 311618
d2 103854
deg0 42
deg11 504
deg12 32142
deg2 34039
divcond 448
do_compo 49
ellphist 8708
ellphistinit 4354
eval_i 1897
findbezk 4424
findbezk_pol 70
findquad 70
findquad_pol 14
galoisapplypol 14
get_C 735
get_Char 3899
get_cS_cT 500087
get_i0 189
get_ilambda 812
get_lambda 70
get_om 4354
get_prdiff 161
get_prec 0
getallelts 70
getallrootsof1 70
gpq 4102
hasexp2 813
init_CHI 4228
init_CHI_C 1631
init_CHI_alg 2597
init_cScT 308
init_pq 49
isZ 119
makescind 133
mpvecpowdiv 259
ppgamma 308
qfbforms 455
quadhilbert 574
quadhilbertimag 462
quadhilbertreal 147
quadray 161
quadray_init 847
sortChars 385
split_pol_quad 133
subgp_intersect 567
subgroup_classes 322
to_approx 8778
treatspecialsigma 119
uhasexp2 1323
zeta_get_N0 630
zeta_get_i0 189
zeta_get_limx 511

Generated by: LCOV version 1.14