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 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 18889-ac2cbba) Lines: 1352 1416 95.5 %
Date: 2016-05-01 Functions: 124 127 97.6 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 767 890 86.2 %

Function Name Sort by function name Hit count Sort by hit count
Fq_FpXQ_log 299031
Ideallist 350
Idealstar 13545
RgC_to_nfC 37393
RgM_to_nfM 3745
RgV_is_prV 3472
RgX_to_nfX 2555
ZC_nfval 2923732
ZC_nfvalrem 3129036
ZC_prdvd 8197
_mul 45149
_mulii 428527583
_sqr 264378
add_grp 13566
algtobasis 68066
apply_U 220857
archstar_full_rk 1729
basistoalg 90013
check_nfelt 148383
coltoalg 47831
concat_join 43414
detcyc 7434
ei_msqr_mod 63995
ei_multable 4375
elt_mulpow_modideal 325401
eval_sign 372402
famat_norm 7
famat_to_nf_modideal_coprime 112308
famat_zlog 95337
get_index 130215
get_tab 9600902
gpnfvalrem 147
ideallist 322
ideallist0 28
ideallistarch 14
ideallog 206407
ideallog_sgn 199701
idealprincipalunits 7
idealstar0 350
increment 3192
indices_to_vec01 4368
init_zlog 130215
init_zlog_bid 118539
is_nf_factor 13272
join_arch 56
join_archunit 28
join_bid 476
join_bid_arch 56
join_ideal 26222
join_idealinit 476
join_unit 455
log_gen_arch 6216
log_gen_pr 9835
log_prk 42
makeprimetoideal 4235
makeprimetoidealvec 518
matalgtobasis 2834
matbasistoalg 3129
mulbytab 3318
mulmat_pol 1512490
multable 707
nfC_nf_mul 187812
nf_log 299031
nf_to_scalar_or_alg 119383
nf_to_scalar_or_basis 6707161
nfadd 24962
nfarchstar 14091
nfchecksigns 1113
nfdiv 11829
nfdiveuc 259
nfdivrem 259
nfembed 1568
nfembed_i 287
nfinv 54698
nfinvmodideal 378
nfmod 259
nfmul 217802
nfmuli 463680
nfmulmodideal 601066
nfnorm 18851
nfpow 205428
nfpow_u 4655
nfpowmodideal 384383
nfsign 378
nfsign_arch 525723
nfsqr 11508
nfsqri 685130
nfsqrmodideal 282732
nftrace 42
nfval 269899
nfvalrem 9639
polmod_nffix 60634
polmod_nffix2 60725
poltobasis 1354033
pow_ei_mod_p 91265
powp 3808
pr_equal 28
principal_units 7
rnfalgtobasis 1148
rnfbasistoalg 35525
rnfeltnorm 231
rnfelttrace 567
set_sign_mod_divisor 83384
sqr_mod 136529
tablemul 0
tablemul_ei 16639
tablemul_ei_ej 2310
tablemulvec 707
tablesqr 5726
vec01_to_indices 734534
vecmodii 413003
vecsmall01_to_indices 595
zidealij 12985
zidealstar 0
zidealstarinit 4949
zidealstarinitgen 0
zk_ei_mul 8431358
zk_multable 3241452
zk_scalar_or_multable 6085748
zlog 116677
zlog_add_sign 287670
zlog_ind 175603
zlog_pk 299031
zlog_units 35
zlog_units_noarch 399
zlog_unitsarch 28
zprimestar 12922

Generated by: LCOV version 1.9