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 19352-1b11b25) Lines: 1382 1472 93.9 %
Date: 2016-08-25 06:11:27 Functions: 136 143 95.1 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Fq_FpXQ_log 299409
Ideallist 350
Idealstar 7588
Idealstar_i 13265
Idealstarprk 5950
RgC_to_nfC 38371
RgM_to_nfM 3815
RgX_to_nfX 2576
ZC_add1 3500
ZC_nfval 4383733
ZC_nfvalrem 4594777
ZC_prdvd 8211
ZC_sub1 1561
_mul 30092
_mulii 399849849
_sqr 128539
add_grp 13566
algtobasis 64033
apply_U 221249
archstar_full_rk 1729
basistoalg 95347
check_nfelt 143455
coltoalg 53366
concat_join 43414
detcyc 7434
ei_msqr_mod 62511
ei_multable 4375
elt_mulpow_modideal 325577
eval_sign 377092
famat_norm 7
famat_to_nf_modideal_coprime 112490
famat_zlog 95701
get_index 130257
get_tab 9845949
gpnfvalrem 147
ideallist 322
ideallist0 28
ideallistarch 14
ideallog 206820
ideallog_sgn 200114
idealprincipalunits 7
idealstar0 343
increment 3192
indices_to_vec01 4368
init_zlog 130257
init_zlog_bid 118581
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 9821
log_prk 42
matalgtobasis 2119
matbasistoalg 3129
mulbytab 3318
mulmat_pol 1959717
multable 707
nfC_multable_mul 23588
nfC_nf_mul 76493
nf_log 299409
nf_to_scalar_or_alg 42271
nf_to_scalar_or_basis 11810206
nfadd 24990
nfarchstar 14084
nfchecksigns 1113
nfdiv 11102
nfdiveuc 259
nfdivrem 259
nfembed 1568
nfembed_i 287
nfinv 55104
nfinvmodideal 385
nfmod 259
nfmul 1717735
nfmuli 443124
nfmulmodideal 600237
nfnorm 18606
nfpow 143841
nfpow_u 30072
nfpowmodideal 384559
nfsign 378
nfsign_arch 522832
nfsqr 50869
nfsqri 544995
nfsqrmodideal 280809
nfsub 7
nftrace 42
nfval 1672797
nfvalrem 9639
polmod_nffix 60529
polmod_nffix2 60620
poltobasis 1802457
pow_ei_mod_p 89922
powp 3808
pr_equal 28
principal_units 7
rnfalgtobasis 1176
rnfbasistoalg 35637
rnfeltnorm 231
rnfelttrace 567
set_sign_mod_divisor 83020
sqr_mod 134429
tablemul 0
tablemul_ei 16639
tablemul_ei_ej 2310
tablemulvec 707
tablesqr 5726
vec01_to_indices 731349
vecmodii 413864
vecsmall01_to_indices 595
zidealij 12985
zidealstar 0
zidealstarinit 0
zidealstarinitgen 0
zkC_multable_mul 113186
zkVchinese1 518
zk_ei_mul 8837096
zk_inv 15078
zk_multable 3757244
zk_scalar_or_multable 8342741
zkadd 0
zkadd1 4235
zkchinese 0
zkchinese1 4235
zkchinese1init2 259
zkchineseinit 2471
zkmul 4235
zkmultable_capZ 221577
zkmultable_inv 236655
zksub 0
zksub1 4235
zlog 116726
zlog_add_sign 288055
zlog_ind 175652
zlog_pk 299409
zlog_units 35
zlog_units_noarch 399
zlog_unitsarch 28
zprimestar 12915

Generated by: LCOV version 1.11