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 17110-9967e23) Lines: 1317 1382 95.3 %
Date: 2014-11-26 Functions: 120 123 97.6 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 739 862 85.7 %

Function Name Sort by function name Hit count Sort by hit count
Fq_FpXQ_log 190203
Ideallist 245
Idealstar 8500
RgC_to_nfC 22095
RgM_to_nfM 1655
RgV_is_prV 2395
RgX_to_nfX 1175
ZC_nfval 2928245
ZC_nfvalrem 3078302
ZC_prdvd 1315
_mul 32677
_mulii 304758333
_sqr 191527
add_grp 8710
algtobasis 13775
apply_U 141275
archstar_full_rk 1205
basistoalg 16590
check_nfelt 88241
coltoalg 11500
concat_join 30600
detcyc 5080
ei_msqr_mod 41405
ei_multable 1890
elt_mulpow_modideal 219644
eval_sign 268562
famat_norm 5
famat_to_nf_modideal_coprime 80297
famat_zlog 70071
get_index 71065
get_tab 6233377
gpnfvalrem 105
ideallist 225
ideallist0 20
ideallistarch 10
ideallog 124681
ideallog_sgn 124681
idealprincipalunits 5
idealstar0 50
increment 2140
indices_to_vec01 2315
init_zlog 71065
init_zlog_bid 63405
is_nf_factor 8500
join_arch 40
join_archunit 20
join_bid 340
join_bid_arch 40
join_ideal 18545
join_idealinit 340
join_unit 325
log_gen_arch 4055
log_gen_pr 6080
log_prk 30
makeprimetoideal 2770
makeprimetoidealvec 370
matalgtobasis 355
matbasistoalg 535
mulbytab 1715
mulmat_pol 775956
multable 300
nfC_nf_mul 124886
nf_log 190203
nf_to_scalar_or_alg 73115
nf_to_scalar_or_basis 4327327
nfadd 16845
nfarchstar 9075
nfdiv 8295
nfdiveuc 185
nfdivrem 185
nfinv 38485
nfinvmodideal 105
nfmod 185
nfmul 122789
nfmuli 309672
nfmulmodideal 396008
nfnorm 7175
nfpow 147063
nfpow_u 3730
nfpowmodideal 260029
nfsign 35
nfsign_arch 356949
nfsqr 8090
nfsqri 464032
nfsqrmodideal 181370
nftrace 30
nfval 228745
nfvalrem 6885
polmod_nffix 1215
polmod_nffix2 1280
poltobasis 685685
pow_ei_mod_p 60970
powp 2720
pr_equal 20
principal_units 5
rnfalgtobasis 820
rnfbasistoalg 1045
rnfeltnorm 160
rnfelttrace 160
set_sign_mod_divisor 57830
sqr_mod 90070
tablemul 0
tablemul_ei 5920
tablemul_ei_ej 755
tablemulvec 300
tablesqr 2075
vec01_to_indices 482149
vecmodii 255642
zidealij 8325
zidealstar 0
zidealstarinit 3535
zidealstarinitgen 0
zk_ei_mul 5451868
zk_multable 2095449
zk_scalar_or_multable 4987480
zlog 62705
zlog_add_sign 183566
zlog_ind 103060
zlog_pk 190203
zlog_units 25
zlog_units_noarch 285
zlog_unitsarch 20
zprimestar 8465

Generated by: LCOV version 1.9