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-bordeaux1.fr machine (x86_64 architecture), and agregate them in the final report:

The target is 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 - basemath - base3.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 17226-bccfbd3) Lines: 1333 1397 95.4 %
Date: 2014-12-17 Functions: 122 125 97.6 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 747 870 85.9 %

Function Name Sort by function name Hit count Sort by hit count
Fq_FpXQ_log 269890
Ideallist 343
Idealstar 12068
RgC_to_nfC 36470
RgM_to_nfM 3248
RgV_is_prV 3444
RgX_to_nfX 1981
ZC_nfval 4129558
ZC_nfvalrem 4340896
ZC_prdvd 2597
_mul 46584
_mulii 432649325
_sqr 270162
add_grp 12362
algtobasis 52687
apply_U 198597
archstar_full_rk 1750
basistoalg 69461
check_nfelt 124261
coltoalg 42077
concat_join 42840
detcyc 7231
ei_msqr_mod 59298
ei_multable 2779
elt_mulpow_modideal 309741
eval_sign 379150
famat_norm 7
famat_to_nf_modideal_coprime 113267
famat_zlog 98137
get_index 100794
get_tab 9059679
gpnfvalrem 147
ideallist 315
ideallist0 28
ideallistarch 14
ideallog 175558
ideallog_sgn 175558
idealprincipalunits 7
idealstar0 70
increment 3248
indices_to_vec01 3290
init_zlog 100794
init_zlog_bid 89902
is_nf_factor 12068
join_arch 56
join_archunit 28
join_bid 476
join_bid_arch 56
join_ideal 25963
join_idealinit 476
join_unit 455
log_gen_arch 5761
log_gen_pr 8610
log_prk 42
makeprimetoideal 4046
makeprimetoidealvec 518
matalgtobasis 1980
matbasistoalg 1925
mulbytab 3087
mulmat_pol 1200804
multable 630
nfC_nf_mul 187478
nf_log 269890
nf_to_scalar_or_alg 104760
nf_to_scalar_or_basis 6261264
nfadd 24486
nfarchstar 12873
nfdiv 12005
nfdiveuc 259
nfdivrem 259
nfembed 1463
nfinv 54621
nfinvmodideal 252
nfmod 259
nfmul 177365
nfmuli 439544
nfmulmodideal 560854
nfnorm 10304
nfpow 207781
nfpow_u 5285
nfpowmodideal 366784
nfsign 203
nfsign_arch 502868
nfsqr 11466
nfsqri 658071
nfsqrmodideal 258233
nftrace 42
nfval 324037
nfvalrem 9639
polmod_nffix 45353
polmod_nffix2 45444
poltobasis 1063708
pow_ei_mod_p 86785
powp 3808
pr_equal 28
principal_units 7
rnfalgtobasis 1148
rnfbasistoalg 25466
rnfeltnorm 231
rnfelttrace 392
set_sign_mod_divisor 81564
sqr_mod 128185
tablemul 0
tablemul_ei 15589
tablemul_ei_ej 2072
tablemulvec 630
tablesqr 5670
vec01_to_indices 680011
vecmodii 360188
vecsmall01_to_indices 147
zidealij 11746
zidealstar 0
zidealstarinit 4949
zidealstarinitgen 0
zk_ei_mul 7943850
zk_multable 3026038
zk_scalar_or_multable 7082555
zlog 89020
zlog_add_sign 258935
zlog_ind 146007
zlog_pk 269890
zlog_units 35
zlog_units_noarch 399
zlog_unitsarch 28
zprimestar 12131

Generated by: LCOV version 1.9