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 17403-69c3b04) Lines: 1333 1397 95.4 %
Date: 2015-01-27 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 270079
Ideallist 343
Idealstar 12096
RgC_to_nfC 36750
RgM_to_nfM 3360
RgV_is_prV 3458
RgX_to_nfX 2023
ZC_nfval 4131987
ZC_nfvalrem 4343444
ZC_prdvd 2639
_mul 46668
_mulii 433007652
_sqr 270407
add_grp 12390
algtobasis 56810
apply_U 198779
archstar_full_rk 1750
basistoalg 73976
check_nfelt 124303
coltoalg 45241
concat_join 42840
detcyc 7245
ei_msqr_mod 59816
ei_multable 2807
elt_mulpow_modideal 309965
eval_sign 379206
famat_norm 7
famat_to_nf_modideal_coprime 113365
famat_zlog 98172
get_index 100920
get_tab 9083206
gpnfvalrem 147
ideallist 315
ideallist0 28
ideallistarch 14
ideallog 175663
ideallog_sgn 175663
idealprincipalunits 7
idealstar0 70
increment 3248
indices_to_vec01 3304
init_zlog 100920
init_zlog_bid 90000
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 5761
log_gen_pr 8624
log_prk 42
makeprimetoideal 4046
makeprimetoidealvec 518
matalgtobasis 2365
matbasistoalg 2177
mulbytab 3143
mulmat_pol 1212445
multable 658
nfC_nf_mul 188157
nf_log 270079
nf_to_scalar_or_alg 105124
nf_to_scalar_or_basis 6275768
nfadd 24668
nfarchstar 12901
nfdiv 12026
nfdiveuc 259
nfdivrem 259
nfembed 1967
nfinv 54712
nfinvmodideal 252
nfmod 259
nfmul 177925
nfmuli 440237
nfmulmodideal 561316
nfnorm 10381
nfpow 208355
nfpow_u 5285
nfpowmodideal 367078
nfsign 266
nfsign_arch 503148
nfsqr 11508
nfsqri 659807
nfsqrmodideal 258387
nftrace 42
nfval 324737
nfvalrem 9639
polmod_nffix 48664
polmod_nffix2 48755
poltobasis 1071429
pow_ei_mod_p 87562
powp 3808
pr_equal 28
principal_units 7
rnfalgtobasis 1148
rnfbasistoalg 27272
rnfeltnorm 231
rnfelttrace 399
set_sign_mod_divisor 81592
sqr_mod 129522
tablemul 0
tablemul_ei 15827
tablemul_ei_ej 2142
tablemulvec 658
tablesqr 5726
vec01_to_indices 680431
vecmodii 360391
vecsmall01_to_indices 189
zidealij 11774
zidealstar 0
zidealstarinit 4949
zidealstarinitgen 0
zk_ei_mul 7964682
zk_multable 3033157
zk_scalar_or_multable 7089863
zlog 89104
zlog_add_sign 259138
zlog_ind 146161
zlog_pk 270079
zlog_units 35
zlog_units_noarch 399
zlog_unitsarch 28
zprimestar 12159

Generated by: LCOV version 1.9