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 23861-3a0b89ade) Lines: 1619 1727 93.7 %
Date: 2019-05-21 05:44:45 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
famat_norm 7
Q_mod_bid 14
ideallistarch 14
nfM_det 14
join_archunit 28
pr_equal 28
join_arch 56
join_bid_arch 56
nfeltembed 63
idealstar0 70
nfembed_i 91
idealprincipalunits 112
gpnfvalrem 147
nfinvmodideal 161
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
nfpolsturm 1498
pl_normalize 1771
vecsmall01_to_indices 1771
matbasistoalg 1876
multable 1995
tablemulvec 1995
num_positive 2012
nfsign 2184
ei_multable 2674
isprfact 2989
pr_init 2989
chineseinit_i 3122
matalgtobasis 3920
nfeltsign 4788
idealchinese 5663
ideallist 5684
Ideallist 6034
parse_embed 6342
ZC_sub1 6377
indices_to_vec01 6482
RgX_to_nfX 6651
chk_ind 6874
is_chineseinit 7091
log_prk_init 7735
principal_units_relations 8085
nfM_mul 8218
nfM_inv 8470
_nf_s 8484
mulbytab 9086
RgM_to_nfM 9338
tablemul_ei 10731
ZC_add1 12901
pr_basis_perm 14525
log_gen_arch 14847
tablemul_ei_ej 17857
powp 20111
idealprincipalunits_i 20811
principal_units 20811
setsigns_init 23271
nftrace 23583
zkchineseinit 24871
zkVchinese1 25130
vecmoduu 27202
zkadd1 27286
zkchinese1 27286
zkmul 27286
zksub1 27286
zidealij 30093
nfdiv 34468
nfnorm 38633
tablesqr 42084
_nf_inv 43190
split_U 44156
rnfbasistoalg 44212
sprk_get_gen 44548
Idealstar 44653
famat_strip2 44905
Idealstar_i 44926
bid_grp 45220
nfarchstar 46476
sprkinit 52283
zk_inv 53627
_mul 54257
nfC_multable_mul 55825
nfpow_u 56539
nfvalrem 64932
get_C 66426
sarch_get_F 66426
sarch_get_MI 66426
sarch_get_lambda 66426
nfchecksigns_i 67809
join_ideal 69174
nfinv 69881
sarch_get_cyc 82992
RgC_to_nfC 86156
log_gen_pr 93548
coltoalg 105567
famat_zlog 119410
nfsetsigns 119500
famat_zlog_pr 119774
sprk_get_expo 119774
concat_join 128716
polmod_nffix 134449
polmod_nffix2 134540
nfpow 135239
zkC_multable_mul 139025
set_sign_mod_divisor 151441
sprk_get_pr 152919
basistoalg 154868
_sqr 162410
nfM_nfC_mul 170219
nfC_nf_mul 183267
get_nf_field 186921
check_nfelt 199772
sprk_get_U2 224334
nf_to_scalar_or_alg 242250
sprk_get_L2 243206
famat_to_nf_modideal_coprime 252410
log_prk1 269792
zlog 285130
nfsqrmodideal 295767
ideallog 306382
algtobasis 311825
eval_sign 330661
ideallog_sgn 336671
sarch_get_archp 338407
sprk_get_prk 344108
ZMV_ZCV_mul 357524
ideallog_i 359183
nfsign_arch 366625
ZC_prdvd 366835
zkmultable_capZ 379569
vec01_to_indices 389893
eval_sign_embed 408389
zk_embed 420142
apply_U 426081
sprk_get_cyc 432420
zkmultable_inv 433196
init_zlog 434482
nf_log 473620
sprk_get_ff 473620
sprk_is_prime 473620
log_prk 476812
nfmulpowmodideal 495963
nfpowmodideal 562141
_nf_neg 623728
zk_modHNF 661863
nfsqri 784955
nfmulmodideal 853506
nfsub 1248954
nfval 1306470
pol_to_scalar_or_basis 1583622
vecmodii 1650379
nfmuli 1838199
_nf_red 2570379
poltobasis 2677746
ZM_ZX_mul 2859919
zk_scalar_or_multable 3726048
nfsqr 5048928
zk_multable 5299274
ZC_nfval 5341159
ZC_nfvalrem 5594736
_nf_add 10366937
zk_ei_mul 10490132
_nf_mul 12472971
get_tab 13144525
nfadd 16711430
nfmul 21997351
nf_to_scalar_or_basis 89113979
_mulii 459018443

Generated by: LCOV version 1.13