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 18607-f2efcf2) Lines: 1352 1416 95.5 %
Date: 2016-02-12 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 295594
Ideallist 350
Idealstar 13321
RgC_to_nfC 37141
RgM_to_nfM 3549
RgV_is_prV 3416
RgX_to_nfX 2898
ZC_nfval 2923361
ZC_nfvalrem 3128665
ZC_prdvd 8197
_mul 45058
_mulii 441981044
_sqr 262432
add_grp 13342
algtobasis 67828
apply_U 218659
archstar_full_rk 1722
basistoalg 88655
check_nfelt 147074
coltoalg 47691
concat_join 43414
detcyc 7280
ei_msqr_mod 64527
ei_multable 2919
elt_mulpow_modideal 324099
eval_sign 372402
famat_norm 7
famat_to_nf_modideal_coprime 111832
famat_zlog 95337
get_index 128255
get_tab 9597507
gpnfvalrem 147
ideallist 322
ideallist0 28
ideallistarch 14
ideallog 204965
ideallog_sgn 198259
idealprincipalunits 7
idealstar0 350
increment 3178
indices_to_vec01 4179
init_zlog 128255
init_zlog_bid 116719
is_nf_factor 13048
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 6027
log_gen_pr 9513
log_prk 42
makeprimetoideal 4053
makeprimetoidealvec 518
matalgtobasis 2834
matbasistoalg 2926
mulbytab 3304
mulmat_pol 1510614
multable 693
nfC_nf_mul 187028
nf_log 295594
nf_to_scalar_or_alg 119215
nf_to_scalar_or_basis 6677922
nfadd 24962
nfarchstar 13867
nfchecksigns 1113
nfdiv 11815
nfdiveuc 259
nfdivrem 259
nfembed 1568
nfembed_i 287
nfinv 54600
nfinvmodideal 378
nfmod 259
nfmul 216430
nfmuli 462924
nfmulmodideal 599176
nfnorm 18851
nfpow 204259
nfpow_u 4655
nfpowmodideal 382731
nfsign 378
nfsign_arch 522867
nfsqr 11508
nfsqri 684388
nfsqrmodideal 283355
nftrace 42
nfval 269619
nfvalrem 9639
polmod_nffix 60634
polmod_nffix2 60725
poltobasis 1344828
pow_ei_mod_p 91223
powp 3808
pr_equal 28
principal_units 7
rnfalgtobasis 1148
rnfbasistoalg 35525
rnfeltnorm 231
rnfelttrace 567
set_sign_mod_divisor 82908
sqr_mod 137110
tablemul 0
tablemul_ei 16051
tablemul_ei_ej 2198
tablemulvec 693
tablesqr 5726
vec01_to_indices 729074
vecmodii 409419
vecsmall01_to_indices 595
zidealij 12817
zidealstar 0
zidealstarinit 4949
zidealstarinitgen 0
zk_ei_mul 8431435
zk_multable 3229398
zk_scalar_or_multable 6073841
zlog 115067
zlog_add_sign 285185
zlog_ind 173643
zlog_pk 295594
zlog_units 35
zlog_units_noarch 399
zlog_unitsarch 28
zprimestar 12740

Generated by: LCOV version 1.9