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 21350-3349c1d) Lines: 2019 2339 86.3 %
Date: 2017-11-21 06:21:18 Functions: 161 172 93.6 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
FqV_to_nfV 0
allbase2 0
companion 0
errprime 0
matinv 0
maxord2 0
mtran 0
mtran_long 0
rnfsimplifybasis 0
rowred 0
rowred_long 0
rnfdiscf 7
rnfhnfbasis 7
rnfisfree 7
rnfisfree_aux 7
nextk 14
FqX_non_root 21
rnfbasis 21
rnfdet 21
RgV_nffix 28
poldiscfactors 28
rnfsteinitz 28
compositum 35
gen_if_principal 35
nfmodprinit 49
rnfpseudobasis 49
nfbasis 56
nfbasis_gp 56
nfmodprlift 56
get_coprimes 63
is_pseudo_matrix 63
nfidealdet1 63
get_order 70
rnfdedekind 84
QXQV_to_FpM 119
nfsplitting 126
fact_from_factors 133
checkmodpr 182
nfreducemodpr 182
idealprimedec_degrees 203
compositum2 231
nfmodpr 238
ffdegree 357
ZX_compositum_disjoint 385
polcompositum0 385
update_fact 483
nfcompositum 630
safe_Z_pvalrem 651
triv_order 875
p_is_prime 1022
expo_is_squarefree 1036
nf_pV_to_prV 1057
indexpartial 1155
compositum_fix 1169
ZpX_monic_factor 1239
ZX_rescale_inv 1421
rnfallbase 1582
testc2 1589
rnfjoinmodules 2751
rnfmaxord 2751
nfX_sub 2807
rnfdedekind_i 2835
get_modpr 3024
FpX_radical 3126
nfdisc 3129
nfV_to_FqV 3763
idealprimedec_galois 3920
modpr_genFq 4144
nfM_to_FqM 4214
rnfjoinmodules_i 5110
zk_to_Fq_init 6580
zkmodprinit 6604
lift_to_zk 6944
diag_denom 6951
FqX_to_nfX 7434
redelt 7434
testb2 7805
FqM_to_nfM 8036
nfX_to_FqX 8442
fill 10220
_msqr 10269
redelt_i 11389
poldiscfactors_i 11781
minval 12089
nfmaxord 12964
ZpX_sylvester_echelon 13828
update_phi 15057
get_LV 15757
init_norm 15757
pradical 15757
primedec_end 15757
nfmaxord_check_args 16093
set_disc 16093
get_maxord 16156
rnfeltid_powmod 16926
Zlx_gcd 18271
loop 18970
nilord 19565
compmod 20559
ideal_is1 21483
pol_min 22668
Decomp 23996
ZpX_gcd 23996
loop_init 25172
get_powers 25181
ZpX_disc_val 28287
ZpM_hnfmodid 33117
maxord_i 33978
fnz 38675
get_gamma 39074
polsymmodp 39417
get_g 39494
uniformizer 41463
dbasis 44520
QpXV_denom 47194
get_partial_order_as_pols 47194
getprime 47663
nfXQ_mul 48069
nfX_rem 48069
vstar 49364
Fp_basis 50511
nfX_mul 50876
split_char 51667
get_pr 52893
ZpX_reduced_resultant_fast 54089
_sqr 56840
get_norm 57644
is_uniformizer 57644
get_nu 61012
RgX_nffix 61608
newtoncharpoly 65527
manage_cache 66507
mycaract 66507
newtonsums 66507
ZpX_reduced_resultant 79688
ei_msqr_mod 83873
zx_z_div 97296
ZX_Dedekind 100422
maxord 100422
Flx_checkdeflate 104920
Flx_radical 104920
pow_ei_mod_p 107499
mul_intersect 125315
idealprimedec 138354
QpX_remove_denom 143920
sqr_mod 176502
idealprimedec_limit_norm 194306
Rg_nffix 229046
QpX_denom 337701
dim1proj 353330
anti_uniformizer 353605
modprinit 366796
update_den 535381
ok_modpr 550648
idealprimedec_limit_f 589984
primedec_aux 594107
ZpX_resultant_val 649564
get_prid 653548
ZpX_resultant_val_i 676549
init_m 703653
nf_to_Fq_init 743253
modpr_TAU 747719
idealprimedec_kummer 747941
to_ff_init 749833
Zlx_sylvester_echelon 766405
mk_pr 802219
zk_to_Fq 1160417
Fq_to_nf 1328740
checkprid 2323189
checkprid_i 3002378
nf_to_Fq 5464463
Rg_to_ff 5464883

Generated by: LCOV version 1.11