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 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 - base2.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.0 lcov report (development 20422-b487f4d) Lines: 2004 2327 86.1 %
Date: 2017-03-22 05:51:54 Functions: 160 171 93.6 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Decomp 23793
Flx_checkdeflate 101456
Flx_radical 101456
FpX_radical 3109
Fp_basis 42927
FqM_to_nfM 1148
FqV_to_nfV 0
FqX_non_root 21
FqX_to_nfX 4088
Fq_to_nf 1174628
QXQV_to_FpM 119
QpXV_denom 46788
QpX_denom 334579
QpX_remove_denom 142485
RgV_nffix 28
RgX_nffix 54146
Rg_nffix 202936
Rg_to_ff 4324361
ZX_Dedekind 97118
ZX_compositum_disjoint 385
ZX_rescale_inv 1400
Zlx_gcd 18098
Zlx_sylvester_echelon 707521
ZpM_hnfmodid 32767
ZpX_disc_val 28063
ZpX_gcd 23793
ZpX_monic_factor 1225
ZpX_reduced_resultant 80001
ZpX_reduced_resultant_fast 54441
ZpX_resultant_val 590688
ZpX_resultant_val_i 617505
ZpX_sylvester_echelon 13778
_msqr 3234
_sqr 7777
allbase2 0
anti_uniformizer 386806
checkmodpr 182
checkprid 2204818
checkprid_i 2862643
companion 0
compmod 20349
compositum 35
compositum2 231
compositum_fix 959
dbasis 44156
diag_denom 6643
dim1proj 394083
ei_msqr_mod 64172
errprime 0
expo_is_squarefree 1015
fact_from_factors 70
ffdegree 77
fill 1904
fnz 38766
gen_if_principal 35
get_LV 12750
get_coprimes 70
get_g 39179
get_gamma 38759
get_maxord 9359
get_modpr 3339
get_norm 44794
get_nu 60438
get_order 70
get_partial_order_as_pols 46788
get_powers 20808
get_pr 44945
get_prid 652288
getprime 47173
ideal_is1 3353
idealprimedec 85112
idealprimedec_degrees 203
idealprimedec_galois 840
idealprimedec_kummer 658639
idealprimedec_limit_f 552802
idealprimedec_limit_norm 186144
indexpartial 2381
init_m 645129
init_norm 12750
is_pseudo_matrix 63
is_uniformizer 44794
lift_to_zk 2702
loop 18802
loop_init 24885
manage_cache 65877
matinv 0
maxord 97118
maxord2 0
maxord_i 33628
minval 1421
mk_pr 701555
modpr_TAU 643034
modpr_genFq 1043
modprinit 404441
mtran 0
mtran_long 0
mul_intersect 107709
mycaract 65877
newtoncharpoly 64918
newtonsums 65877
nextk 14
nfM_to_FqM 665
nfV_to_FqV 4106
nfXQ_mul 6874
nfX_mul 6874
nfX_rem 6874
nfX_to_FqX 13151
nf_pV_to_prV 434
nf_to_Fq 4323941
nf_to_Fq_init 642803
nfbasis 56
nfbasis_gp 56
nfcompositum 525
nfdisc 3129
nfidealdet1 63
nfmaxord 6160
nfmaxord_check_args 9289
nfmodpr 238
nfmodprinit 49
nfmodprlift 56
nfreducemodpr 182
nfsplitting 119
nilord 19334
ok_modpr 550928
p_is_prime 994
pol_min 19877
polcompositum0 385
poldiscfactors 28
poldiscfactors_i 5131
polsymmodp 38997
pow_ei_mod_p 78092
pradical 12750
primedec_aux 553845
primedec_end 12750
redelt 7273
redelt_i 11207
rnfallbase 1169
rnfbasis 21
rnfdedekind 77
rnfdedekind_i 1687
rnfdet 21
rnfdiscf 7
rnfeltid_powmod 2345
rnfhnfbasis 7
rnfisfree 7
rnfisfree_aux 7
rnfjoinmodules 1610
rnfjoinmodules_i 952
rnfmaxord 1610
rnfpseudobasis 49
rnfsimplifybasis 0
rnfsteinitz 28
rowred 0
rowred_long 0
safe_Z_pvalrem 161
set_disc 9289
split_char 51226
sqr_mod 131192
testb2 7756
testc2 1547
to_ff_init 654233
triv_order 791
uniformizer 35676
update_den 531727
update_fact 413
update_phi 14868
vstar 48853
zk_to_Fq 517556
zk_to_Fq_init 11430
zkmodprinit 6198
zx_z_div 94003

Generated by: LCOV version 1.11