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 16962-5a32637) Lines: 1318 1383 95.3 %
Date: 2014-10-29 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 264192
Ideallist 343
Idealstar 11795
RgC_to_nfC 30037
RgM_to_nfM 2240
RgV_is_prV 3339
RgX_to_nfX 812
ZC_nfval 1642236
ZC_nfvalrem 1850606
ZC_prdvd 1827
_mul 42373
_mulii 397988382
_sqr 255508
add_grp 12089
algtobasis 18571
apply_U 196028
archstar_full_rk 1687
basistoalg 22715
check_nfelt 122749
coltoalg 15414
concat_join 42840
detcyc 7035
ei_msqr_mod 53067
ei_multable 2520
elt_mulpow_modideal 304132
eval_sign 375846
famat_norm 7
famat_to_nf_modideal_coprime 111552
famat_zlog 97647
get_index 98750
get_tab 8181516
gpnfvalrem 147
ideallist 315
ideallist0 28
ideallistarch 14
ideallog 173612
ideallog_sgn 173612
idealprincipalunits 7
idealstar0 70
increment 2996
indices_to_vec01 3171
init_zlog 98750
init_zlog_bid 88131
is_nf_factor 11795
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 3640
makeprimetoidealvec 518
matalgtobasis 469
matbasistoalg 714
mulbytab 2401
mulmat_pol 1105887
multable 420
nfC_nf_mul 171791
nf_log 264192
nf_to_scalar_or_alg 100485
nf_to_scalar_or_basis 5925314
nfadd 23569
nfarchstar 12600
nfdiv 11305
nfdiveuc 259
nfdivrem 259
nfinv 53543
nfinvmodideal 140
nfmod 259
nfmul 167341
nfmuli 423870
nfmulmodideal 547454
nfnorm 10045
nfpow 198312
nfpow_u 4851
nfpowmodideal 360349
nfsign 49
nfsign_arch 498192
nfsqr 10486
nfsqri 620337
nfsqrmodideal 249700
nftrace 42
nfval 298130
nfvalrem 9639
polmod_nffix 1701
polmod_nffix2 1792
poltobasis 1001516
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 80444
sqr_mod 113645
tablemul 0
tablemul_ei 8288
tablemul_ei_ej 1057
tablemulvec 420
tablesqr 2905
vec01_to_indices 672724
vecmodii 355855
zidealij 11494
zidealstar 0
zidealstarinit 4949
zidealstarinitgen 0
zk_ei_mul 7126508
zk_multable 2871469
zk_scalar_or_multable 4494320
zlog 87193
zlog_add_sign 255456
zlog_ind 143368
zlog_pk 264192
zlog_units 35
zlog_units_noarch 399
zlog_unitsarch 28
zprimestar 11690

Generated by: LCOV version 1.9