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-bordeaux.fr machine (x86_64 architecture), and agregate them in the final report:

The target is to exceed 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.12.0 lcov report (development 23008-54b2e2f01) Lines: 1615 1723 93.7 %
Date: 2018-09-20 05:37:46 Functions: 181 191 94.8 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
nfembed 0
oksigns 0
oksigns2 0
tablemul 0
zidealstar 0
zidealstarinit 0
zidealstarinitgen 0
zkadd 0
zkchinese 0
zksub 0
Q_mod_bid 7
famat_norm 7
ideallistarch 14
nfM_det 14
join_archunit 28
pr_equal 28
join_arch 56
join_bid_arch 56
idealstar0 63
nfeltembed 63
nfembed_i 91
idealprincipalunits 112
gpnfvalrem 147
nfinvmodideal 154
rnfeltnorm 231
nfdiveuc 259
nfdivrem 259
nfmod 259
zkchinese1init2 259
Idealstarprk 273
pl_convert 343
ideallist0 350
veclog_prk 378
join_unit 455
join_bid 476
join_idealinit 476
ZM_ZMV_mul 518
rnfelttrace 784
nfchecksigns 861
rnfalgtobasis 1204
RgM_RgX_mul 1337
nfsign 1456
nfpolsturm 1498
matbasistoalg 1589
pl_normalize 1771
vecsmall01_to_indices 1771
multable 1813
tablemulvec 1813
num_positive 1999
ei_multable 2422
ideallist 2842
isprfact 2989
pr_init 2989
chineseinit_i 3122
Ideallist 3192
matalgtobasis 3906
ZC_sub1 3948
nfeltsign 4732
indices_to_vec01 5159
idealchinese 5663
principal_units_relations 5768
RgX_to_nfX 5909
log_prk_init 6132
parse_embed 6286
chk_ind 6797
is_chineseinit 7091
ZC_add1 7098
mulbytab 7784
nfM_mul 8050
nfM_inv 8260
_nf_s 8274
pr_basis_perm 8344
RgM_to_nfM 8589
log_gen_arch 10003
tablemul_ei 10213
zkchineseinit 13181
zkVchinese1 13440
idealprincipalunits_i 14154
principal_units 14154
setsigns_init 14654
zkadd1 14812
zkchinese1 14812
zkmul 14812
zksub1 14812
tablemul_ei_ej 16989
powp 20104
zidealij 20839
nfdiv 21980
nftrace 23583
sprk_get_gen 25683
split_U 26089
Idealstar 26586
famat_strip2 26838
Idealstar_i 26859
bid_grp 27153
nfarchstar 28409
nfnorm 31381
sprkinit 31815
tablesqr 40040
_nf_inv 41566
zk_inv 41889
rnfbasistoalg 44212
nfpow_u 45941
_mul 47235
join_ideal 47698
sarch_get_cyc 49399
log_gen_pr 50771
nfC_multable_mul 51093
get_C 55037
sarch_get_F 55037
sarch_get_MI 55037
sarch_get_lambda 55037
nfchecksigns_i 63602
nfinv 64155
nfvalrem 64925
RgC_to_nfC 78617
concat_join 86065
nfsetsigns 94230
vecmoduu 95004
coltoalg 105252
famat_zlog_pr 110275
sprk_get_expo 110275
famat_zlog 113215
set_sign_mod_divisor 114922
nfpow 117859
sprk_get_pr 129224
zkC_multable_mul 129750
polmod_nffix 134449
polmod_nffix2 134540
_sqr 142265
basistoalg 148715
nfM_nfC_mul 161259
nfC_nf_mul 167909
get_nf_field 177583
check_nfelt 181985
sprk_get_U2 185820
famat_to_nf_modideal_coprime 194842
sprk_get_L2 196677
nf_to_scalar_or_alg 216904
log_prk1 224950
zlog 246140
ZC_prdvd 260666
algtobasis 267690
sarch_get_archp 272411
nfsqrmodideal 277327
ideallog 286530
sprk_get_prk 296095
ideallog_sgn 301293
ZMV_ZCV_mul 312941
eval_sign 313454
ideallog_i 314460
sprk_get_cyc 346677
nfsign_arch 349370
init_zlog 353261
apply_U 354772
zkmultable_capZ 359479
vec01_to_indices 363601
eval_sign_embed 386408
nf_log 386974
sprk_get_ff 386974
sprk_is_prime 386974
log_prk 388010
zk_embed 397055
zkmultable_inv 401368
nfmulpowmodideal 422736
nfpowmodideal 475929
_nf_neg 570948
zk_modHNF 604002
nfsqri 680143
nfmulmodideal 735440
nfsub 1193969
vecmodii 1207041
nfval 1303701
pol_to_scalar_or_basis 1462888
nfmuli 1614041
poltobasis 2315665
_nf_red 2397969
ZM_ZX_mul 2481610
zk_scalar_or_multable 3488489
nfsqr 4715630
zk_multable 4865397
ZC_nfval 5140538
ZC_nfvalrem 5377240
zk_ei_mul 9267698
_nf_add 9326373
_nf_mul 11290489
get_tab 11591492
nfadd 15589533
nfmul 20605626
nf_to_scalar_or_basis 83522057
_mulii 396569939

Generated by: LCOV version 1.13