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 17862-bbf675f) Lines: 1333 1397 95.4 %
Date: 2015-05-30 Functions: 122 125 97.6 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 747 870 85.9 %

Function Name Sort by function name Hit count Sort by hit count
Fq_FpXQ_log 270016
Ideallist 343
Idealstar 12096
RgC_to_nfC 36750
RgM_to_nfM 3360
RgV_is_prV 3458
RgX_to_nfX 2072
ZC_nfval 4132134
ZC_nfvalrem 4343591
ZC_prdvd 2681
_mul 46716
_mulii 435069134
_sqr 270442
add_grp 12390
algtobasis 64909
apply_U 198779
archstar_full_rk 1701
basistoalg 84574
check_nfelt 124282
coltoalg 54432
concat_join 42840
detcyc 7245
ei_msqr_mod 60096
ei_multable 2821
elt_mulpow_modideal 309783
eval_sign 377750
famat_norm 7
famat_to_nf_modideal_coprime 113211
famat_zlog 98172
get_index 100899
get_tab 9138897
gpnfvalrem 147
ideallist 315
ideallist0 28
ideallistarch 14
ideallog 175642
ideallog_sgn 175642
idealprincipalunits 7
idealstar0 70
increment 3150
indices_to_vec01 3304
init_zlog 100899
init_zlog_bid 89979
is_nf_factor 12096
join_arch 56
join_archunit 28
join_bid 476
join_bid_arch 56
join_ideal 25963
join_idealinit 476
join_unit 455
log_gen_arch 5733
log_gen_pr 8624
log_prk 42
makeprimetoideal 4046
makeprimetoidealvec 518
matalgtobasis 2750
matbasistoalg 2527
mulbytab 3206
mulmat_pol 1223978
multable 665
nfC_nf_mul 188157
nf_log 270016
nf_to_scalar_or_alg 105257
nf_to_scalar_or_basis 6232781
nfadd 24934
nfarchstar 12901
nfdiv 11991
nfdiveuc 259
nfdivrem 259
nfembed 2604
nfinv 54712
nfinvmodideal 196
nfmod 259
nfmul 177890
nfmuli 440348
nfmulmodideal 560742
nfnorm 10500
nfpow 208376
nfpow_u 5285
nfpowmodideal 366896
nfsign 350
nfsign_arch 502105
nfsqr 11508
nfsqri 660003
nfsqrmodideal 257995
nftrace 42
nfval 276199
nfvalrem 9639
polmod_nffix 60424
polmod_nffix2 60515
poltobasis 1082160
pow_ei_mod_p 87849
powp 3808
pr_equal 28
principal_units 7
rnfalgtobasis 1148
rnfbasistoalg 35406
rnfeltnorm 231
rnfelttrace 567
set_sign_mod_divisor 81438
sqr_mod 130075
tablemul 0
tablemul_ei 15827
tablemul_ei_ej 2142
tablemulvec 665
tablesqr 5726
vec01_to_indices 679010
vecmodii 360321
vecsmall01_to_indices 245
zidealij 11774
zidealstar 0
zidealstarinit 4949
zidealstarinitgen 0
zk_ei_mul 8020052
zk_multable 3041081
zk_scalar_or_multable 7093041
zlog 89083
zlog_add_sign 259089
zlog_ind 146140
zlog_pk 270016
zlog_units 35
zlog_units_noarch 399
zlog_unitsarch 28
zprimestar 12159

Generated by: LCOV version 1.9