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 19230-c71492b) Lines: 1369 1456 94.0 %
Date: 2016-07-30 07:10:28 Functions: 132 138 95.7 %
Legend: Lines: hit not hit

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_add1 3500
ZC_nfval 3155943
ZC_nfvalrem 3361254
ZC_prdvd 8211
ZC_sub1 1561
_mul 45331
_mulii 432332705
_sqr 264778
add_grp 13566
algtobasis 64307
apply_U 220857
archstar_full_rk 1729
basistoalg 95319
check_nfelt 148383
coltoalg 52990
concat_join 43414
detcyc 7434
ei_msqr_mod 64044
ei_multable 4375
elt_mulpow_modideal 325478
eval_sign 372402
famat_norm 7
famat_to_nf_modideal_coprime 112315
famat_zlog 95344
get_index 130208
get_tab 10410987
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 130208
init_zlog_bid 118532
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
matalgtobasis 2106
matbasistoalg 3129
mulbytab 3318
mulmat_pol 2083821
multable 707
nfC_nf_mul 189317
nf_log 299031
nf_to_scalar_or_alg 121061
nf_to_scalar_or_basis 11971777
nfadd 24983
nfarchstar 14091
nfchecksigns 1113
nfdiv 12046
nfdiveuc 259
nfdivrem 259
nfembed 1568
nfembed_i 287
nfinv 55342
nfinvmodideal 378
nfmod 259
nfmul 1723404
nfmuli 464447
nfmulmodideal 601147
nfnorm 18851
nfpow 215599
nfpow_u 30919
nfpowmodideal 384460
nfsign 378
nfsign_arch 525723
nfsqr 50869
nfsqri 685829
nfsqrmodideal 282737
nfsub 7
nftrace 42
nfval 1662206
nfvalrem 9639
polmod_nffix 60529
polmod_nffix2 60620
poltobasis 1926778
pow_ei_mod_p 91531
powp 3808
pr_equal 28
principal_units 7
rnfalgtobasis 1176
rnfbasistoalg 35637
rnfeltnorm 231
rnfelttrace 567
set_sign_mod_divisor 83384
sqr_mod 136746
tablemul 0
tablemul_ei 16639
tablemul_ei_ej 2310
tablemulvec 707
tablesqr 5726
vec01_to_indices 734527
vecmodii 413066
vecsmall01_to_indices 595
zidealij 12985
zidealstar 0
zidealstarinit 4949
zidealstarinitgen 0
zkVchinese1 518
zk_ei_mul 9239977
zk_multable 3804063
zk_scalar_or_multable 7061093
zkadd 0
zkadd1 4235
zkchinese 0
zkchinese1 4235
zkchinese1init2 259
zkchineseinit 2478
zkmul 4235
zksub 0
zksub1 4235
zlog 116670
zlog_add_sign 287670
zlog_ind 175596
zlog_pk 299031
zlog_units 35
zlog_units_noarch 399
zlog_unitsarch 28
zprimestar 12922

Generated by: LCOV version 1.11