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 16937-4bd9b4e) Lines: 1318 1383 95.3 %
Date: 2014-10-24 Functions: 120 123 97.6 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 742 866 85.7 %

Function Name Sort by function name Hit count Sort by hit count
Fq_FpXQ_log 261592
Ideallist 343
Idealstar 11802
RgC_to_nfC 30037
RgM_to_nfM 2240
RgV_is_prV 3346
RgX_to_nfX 812
ZC_nfval 1637294
ZC_nfvalrem 1844326
ZC_prdvd 1827
_mul 42434
_mulii 397926163
_sqr 254410
add_grp 12096
algtobasis 18641
apply_U 193368
archstar_full_rk 1687
basistoalg 22715
check_nfelt 121323
coltoalg 15449
concat_join 42840
detcyc 7035
ei_msqr_mod 53067
ei_multable 2520
elt_mulpow_modideal 305070
eval_sign 371353
famat_norm 7
famat_to_nf_modideal_coprime 112070
famat_zlog 96398
get_index 96815
get_tab 8167345
gpnfvalrem 147
ideallist 315
ideallist0 28
ideallistarch 14
ideallog 170421
ideallog_sgn 170421
idealprincipalunits 7
idealstar0 70
increment 2996
indices_to_vec01 3171
init_zlog 96815
init_zlog_bid 86189
is_nf_factor 11802
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 5677
log_gen_pr 8344
log_prk 42
makeprimetoideal 3654
makeprimetoidealvec 518
matalgtobasis 469
matbasistoalg 714
mulbytab 2401
mulmat_pol 1092741
multable 420
nfC_nf_mul 170542
nf_log 261592
nf_to_scalar_or_alg 100499
nf_to_scalar_or_basis 5901345
nfadd 23569
nfarchstar 12614
nfdiv 11312
nfdiveuc 259
nfdivrem 259
nfinv 53543
nfinvmodideal 140
nfmod 259
nfmul 167400
nfmuli 424439
nfmulmodideal 546804
nfnorm 10045
nfpow 197728
nfpow_u 4851
nfpowmodideal 361301
nfsign 49
nfsign_arch 493203
nfsqr 10486
nfsqri 619221
nfsqrmodideal 249682
nftrace 42
nfval 298130
nfvalrem 9639
polmod_nffix 1701
polmod_nffix2 1792
poltobasis 988370
pow_ei_mod_p 78820
powp 3808
pr_equal 28
principal_units 7
rnfalgtobasis 1148
rnfbasistoalg 1463
rnfeltnorm 224
rnfelttrace 224
set_sign_mod_divisor 80535
sqr_mod 113645
tablemul 0
tablemul_ei 8288
tablemul_ei_ej 1057
tablemulvec 420
tablesqr 2905
vec01_to_indices 665884
vecmodii 349473
zidealij 11494
zidealstar 0
zidealstarinit 4949
zidealstarinitgen 0
zk_ei_mul 7112884
zk_multable 2857845
zk_scalar_or_multable 4476431
zlog 85251
zlog_add_sign 252279
zlog_ind 141440
zlog_pk 261592
zlog_units 35
zlog_units_noarch 399
zlog_unitsarch 28
zprimestar 11704

Generated by: LCOV version 1.9