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 19044-129ab8a) Lines: 1352 1416 95.5 %
Date: 2016-06-27 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 38016
RgM_to_nfM 3815
RgV_is_prV 3472
RgX_to_nfX 2555
ZC_nfval 2923914
ZC_nfvalrem 3129218
ZC_prdvd 8211
_mul 45149
_mulii 428621407
_sqr 264378
add_grp 13566
algtobasis 64216
apply_U 220857
archstar_full_rk 1729
basistoalg 94353
check_nfelt 148383
coltoalg 52157
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 9617744
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 2085
matbasistoalg 3129
mulbytab 3318
mulmat_pol 1530816
multable 707
nfC_nf_mul 189296
nf_log 299031
nf_to_scalar_or_alg 120468
nf_to_scalar_or_basis 6722841
nfadd 24962
nfarchstar 14091
nfchecksigns 1113
nfdiv 12046
nfdiveuc 259
nfdivrem 259
nfembed 1568
nfembed_i 287
nfinv 54824
nfinvmodideal 378
nfmod 259
nfmul 218019
nfmuli 463561
nfmulmodideal 601066
nfnorm 18851
nfpow 205204
nfpow_u 4655
nfpowmodideal 384383
nfsign 378
nfsign_arch 525723
nfsqr 11508
nfsqri 685235
nfsqrmodideal 282732
nftrace 42
nfval 269962
nfvalrem 9639
polmod_nffix 60529
polmod_nffix2 60620
poltobasis 1373815
pow_ei_mod_p 91391
powp 3808
pr_equal 28
principal_units 7
rnfalgtobasis 1176
rnfbasistoalg 35637
rnfeltnorm 231
rnfelttrace 567
set_sign_mod_divisor 83384
sqr_mod 136634
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 8448214
zk_multable 3253527
zk_scalar_or_multable 6099251
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