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 16804-345a01c) Lines: 1319 1383 95.4 %
Date: 2014-09-20 Functions: 120 123 97.6 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 743 866 85.8 %

Function Name Sort by function name Hit count Sort by hit count
Fq_FpXQ_log 265445
Ideallist 357
Idealstar 12138
RgC_to_nfC 30520
RgM_to_nfM 2345
RgV_is_prV 3458
RgX_to_nfX 861
ZC_nfval 1647437
ZC_nfvalrem 1855870
ZC_prdvd 1827
_mul 42590
_mulii 398232108
_sqr 256250
add_grp 12691
algtobasis 18809
apply_U 196707
archstar_full_rk 1701
basistoalg 24486
check_nfelt 122756
coltoalg 15680
concat_join 43939
detcyc 7070
ei_msqr_mod 53452
ei_multable 2520
elt_mulpow_modideal 305350
eval_sign 375937
famat_norm 7
famat_to_nf_modideal_coprime 112385
famat_zlog 97689
get_index 99478
get_tab 8209432
gpnfvalrem 147
ideallist 322
ideallist0 35
ideallistarch 14
ideallog 173668
ideallog_sgn 173668
idealprincipalunits 7
idealstar0 84
increment 3010
indices_to_vec01 3185
init_zlog 99478
init_zlog_bid 88530
is_nf_factor 12138
join_arch 56
join_archunit 28
join_bid 910
join_bid_arch 56
join_ideal 26124
join_idealinit 910
join_unit 889
log_gen_arch 5726
log_gen_pr 8407
log_prk 42
makeprimetoideal 4298
makeprimetoidealvec 1036
matalgtobasis 483
matbasistoalg 791
mulbytab 2541
mulmat_pol 1114672
multable 448
nfC_nf_mul 173233
nf_log 265445
nf_to_scalar_or_alg 101073
nf_to_scalar_or_basis 5954140
nfadd 23583
nfarchstar 12943
nfdiv 11431
nfdiveuc 266
nfdivrem 266
nfinv 53634
nfinvmodideal 140
nfmod 266
nfmul 167908
nfmuli 425032
nfmulmodideal 549428
nfnorm 10045
nfpow 199005
nfpow_u 4858
nfpowmodideal 362106
nfsign 49
nfsign_arch 499305
nfsqr 10486
nfsqri 622178
nfsqrmodideal 250253
nftrace 42
nfval 299068
nfvalrem 9639
polmod_nffix 1701
polmod_nffix2 1792
poltobasis 1009265
pow_ei_mod_p 79317
powp 3808
pr_equal 28
principal_units 7
rnfalgtobasis 1148
rnfbasistoalg 1463
rnfeltnorm 224
rnfelttrace 224
set_sign_mod_divisor 81235
sqr_mod 114191
tablemul 0
tablemul_ei 9100
tablemul_ei_ej 1169
tablemulvec 448
tablesqr 3017
vec01_to_indices 674698
vecmodii 356114
zidealij 11620
zidealstar 0
zidealstarinit 4949
zidealstarinitgen 0
zk_ei_mul 7150637
zk_multable 2884930
zk_scalar_or_multable 4512674
zlog 87865
zlog_add_sign 256821
zlog_ind 144579
zlog_pk 265445
zlog_units 42
zlog_units_noarch 679
zlog_unitsarch 28
zprimestar 12033

Generated by: LCOV version 1.9