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-bordeaux1.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 17097-9391e68) Lines: 1856 2163 85.8 %
Date: 2014-11-21 Functions: 148 158 93.7 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1019 1402 72.7 %

Function Name Sort by function name Hit count Sort by hit count
Decomp 16565
Flx_checkdeflate 69998
Flx_radical 69998
FpX_radical 2202
Fp_basis 25860
FqM_to_nfM 240
FqV_to_nfV 5
FqX_non_root 15
FqX_to_nfX 1030
Fq_to_nf 17025
QpXV_denom 32910
QpX_denom 229945
QpX_remove_denom 92960
RgV_nffix 20
RgX_nffix 3450
Rg_nffix 16885
Rg_to_ff 601501
ZX_Dedekind 67000
ZX_compositum_disjoint 275
ZX_rescale_inv 910
Zlx_gcd 12162
Zlx_sylvester_echelon 130835
ZpM_hnfmodid 22945
ZpX_disc_val 19445
ZpX_gcd 16565
ZpX_reduced_resultant 55730
ZpX_reduced_resultant_fast 37500
ZpX_resultant_val 50215
ZpX_resultant_val_i 69110
ZpX_sylvester_echelon 10570
_msqr 600
_sqr 2830
allbase2 0
allbase_from_maxord 2480
anti_uniformizer2 224638
checkmodpr 310
checkprid 728031
companion 0
compmod 14190
compositum 25
compositum2 125
compositum_fix 300
dbasis 30730
diag_denom 4000
dim1proj 167529
disc_from_maxord 2215
errprime 0
fact_from_factors 35
ffdegree 310
fill 610
fnz 25570
gen_if_principal 25
get_LV 8775
get_coprimes 55
get_d 115
get_g 27360
get_gamma 27145
get_maxord 4700
get_modpr 1780
get_norm 255012
get_nu 42175
get_order 50
get_partial_order_as_pols 32910
get_powers 12055
get_pr 26885
get_prid 392825
get_proj_modT 68559
getprime 32650
ideal_is1 1130
idealprimedec 110161
idealprimedec_limit_f 226021
idealprimedec_limit_norm 101060
indexpartial 1445
init_m 87715
init_norm 8775
is_prid 1122666
is_pseudo_matrix 45
is_uniformizer 255012
kill_cache 14085
lift_to_zk 5475
loop 13135
loop_init 17165
manage_cache 39550
matinv 0
maxord 67000
maxord2 0
maxord_i 23225
mk_pr 316302
modpr_TAU 225728
modpr_genFq 30
modprinit 237263
mtran 0
mtran_long 0
mul_intersect 62100
mycaract 39550
newtoncharpoly 38870
newtonsums 39550
nfM_to_FqM 165
nfV_to_FqV 1905
nfX_to_FqX 6035
nf_to_Fq 601191
nf_to_Fq_init 225523
nfbasis 40
nfbasis_gp 40
nfdisc 2215
nfidealdet1 40
nfmaxord 2485
nfmaxord_check_args 4700
nfmodprinit 35
nfreducemodpr 310
nfsplitting 45
nilord 13305
ok_modpr 394725
p_is_prime 725
pol_min 9940
polcompositum0 165
polsymmodp 21985
pradical 8775
primedec_apply_kummer 291432
primedec_aux 226021
primedec_end 8775
redelt 4975
redelt_i 7740
rnfallbase 115
rnfbasis 15
rnfdedekind 55
rnfdedekind_i 400
rnfdet 15
rnfdiscf 5
rnfeltid_powmod 755
rnfhnfbasis 5
rnfisfree 5
rnfisfree_aux 5
rnfjoinmodules 345
rnfjoinmodules_i 305
rnfmaxord 345
rnfpseudobasis 35
rnfsimplifybasis 0
rnfsteinitz 20
rowred 0
rowred_long 0
safe_Z_pvalrem 50
set_disc 4700
special_anti_uniformizer 123709
split_char 35825
testb2 5435
testc2 1055
to_ff_init 237318
triv_order 50
uniformizer 19440
update_den 343385
update_fact 160
update_phi 10270
vstar 33760
zk_to_Fq 275648
zk_to_Fq_init 11795
zkmodprinit 2235
zx_z_div 64794

Generated by: LCOV version 1.9