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.8.0 lcov report (development 19623-dc26710) Lines: 1950 2274 85.8 %
Date: 2016-09-30 05:54:20 Functions: 156 167 93.4 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Decomp 23667
Flx_checkdeflate 100694
Flx_radical 100694
FpX_radical 3102
Fp_basis 54754
FqM_to_nfM 1260
FqV_to_nfV 0
FqX_non_root 21
FqX_to_nfX 4095
Fq_to_nf 1174782
QpXV_denom 46578
QpX_denom 333206
QpX_remove_denom 141903
RgV_nffix 28
RgX_nffix 64989
Rg_nffix 189328
Rg_to_ff 4733978
ZX_Dedekind 96404
ZX_compositum_disjoint 385
ZX_rescale_inv 1407
Zlx_gcd 17995
Zlx_sylvester_echelon 188916
ZpM_hnfmodid 32641
ZpX_disc_val 27951
ZpX_gcd 23667
ZpX_monic_factor 1162
ZpX_reduced_resultant 80069
ZpX_reduced_resultant_fast 54425
ZpX_resultant_val 71617
ZpX_resultant_val_i 98301
ZpX_sylvester_echelon 13121
_msqr 3255
_sqr 8722
allbase2 0
anti_uniformizer 683741
checkmodpr 182
checkprid 2497482
checkprid_i 3155713
companion 0
compmod 20286
compositum 35
compositum2 231
compositum_fix 959
dbasis 43820
diag_denom 6279
dim1proj 575870
ei_msqr_mod 80489
errprime 0
expo_is_squarefree 980
fact_from_factors 70
ffdegree 434
fill 2100
fnz 37135
gen_if_principal 35
get_LV 16312
get_coprimes 70
get_g 38990
get_gamma 38556
get_maxord 9037
get_modpr 2982
get_norm 586406
get_nu 60192
get_order 70
get_partial_order_as_pols 46578
get_powers 27023
get_pr 57010
get_prid 645862
get_proj_modT 129400
getprime 46948
ideal_is1 3542
idealprimedec 112490
idealprimedec_kummer 675630
idealprimedec_limit_f 555496
idealprimedec_limit_norm 315700
indexpartial 2423
init_m 126042
init_norm 16312
is_pseudo_matrix 63
is_uniformizer 586406
lift_to_zk 11648
loop 18739
loop_init 24794
manage_cache 65589
matinv 0
maxord 96404
maxord2 0
maxord_i 33467
minval 1435
mk_pr 727046
modpr_TAU 685771
modpr_genFq 1848
modprinit 708341
mtran 0
mtran_long 0
mul_intersect 136150
mycaract 65589
newtoncharpoly 64637
newtonsums 65589
nextk 14
nfM_to_FqM 714
nfV_to_FqV 3749
nfXQ_mul 7119
nfX_mul 7119
nfX_rem 7119
nfX_to_FqX 13251
nf_pV_to_prV 343
nf_to_Fq 4733558
nf_to_Fq_init 685540
nfbasis 56
nfbasis_gp 56
nfcompositum 525
nfdisc 3129
nfidealdet1 56
nfmaxord 5838
nfmaxord_check_args 8967
nfmodpr 238
nfmodprinit 49
nfmodprlift 56
nfreducemodpr 182
nfsplitting 112
nilord 19264
ok_modpr 550137
p_is_prime 1001
pol_min 22221
polcompositum0 385
polsymmodp 38913
pow_ei_mod_p 109220
pradical 16312
primedec_aux 555496
primedec_end 16312
redelt 7259
redelt_i 11165
rnfallbase 1113
rnfbasis 21
rnfdedekind 77
rnfdedekind_i 1673
rnfdet 21
rnfdiscf 7
rnfeltid_powmod 2492
rnfhnfbasis 7
rnfisfree 7
rnfisfree_aux 7
rnfjoinmodules 1596
rnfjoinmodules_i 1050
rnfmaxord 1596
rnfpseudobasis 49
rnfsimplifybasis 0
rnfsteinitz 28
rowred 0
rowred_long 0
safe_Z_pvalrem 161
set_disc 8967
split_char 50988
sqr_mod 173206
testb2 7728
testc2 1547
to_ff_init 704868
triv_order 742
uniformizer 42288
update_den 529000
update_fact 399
update_phi 14839
vstar 48621
zk_to_Fq 646809
zk_to_Fq_init 19328
zkmodprinit 5265
zx_z_div 93296

Generated by: LCOV version 1.11