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 16624-25b9976) Lines: 1999 2116 94.5 %
Date: 2014-06-24 Functions: 152 154 98.7 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1135 1362 83.3 %

Function Name Sort by function name Hit count Sort by hit count
Decomp 16440
Flx_checkdeflate 69539
Flx_radical 69539
FpX_radical 2225
Fp_basis 25785
FqM_to_nfM 280
FqV_to_nfV 5
FqX_non_root 15
FqX_to_nfX 1080
Fq_to_nf 17829
QpXV_denom 32680
QpX_denom 227330
QpX_remove_denom 92390
RgV_nffix 20
RgX_nffix 2925
Rg_nffix 13535
Rg_to_ff 622574
ZX_Dedekind 66585
ZX_compositum_disjoint 275
ZX_rescale_inv 898
Zlx_gcd 12026
Zlx_sylvester_echelon 129674
ZpM_hnfmodid 22845
ZpX_disc_val 19325
ZpX_gcd 16440
ZpX_reduced_resultant 55156
ZpX_reduced_resultant_fast 36949
ZpX_resultant_val 49877
ZpX_resultant_val_i 68717
ZpX_sylvester_echelon 10639
_msqr 680
_sqr 2990
allbase2 10
allbase_from_maxord 2445
anti_uniformizer2 260156
checkmodpr 310
checkprid 805412
companion 10
compmod 14079
compositum 30
compositum2 135
compositum_fix 330
dbasis 30635
diag_denom 3910
dim1proj 195350
disc_from_maxord 2215
errprime 0
fact_from_factors 35
ffdegree 310
fill 650
fnz 24090
gen_if_principal 40
get_LV 8789
get_coprimes 55
get_d 125
get_g 27216
get_gamma 26981
get_maxord 4665
get_norm 335300
get_nu 41995
get_order 70
get_partial_order_as_pols 32680
get_powers 11898
get_pr 26725
get_prid 398550
get_proj_modT 70657
getprime 32517
ideal_is1 1325
idealprimedec 263214
indexpartial 895
init_m 86826
init_norm 8789
is_prid 1204117
is_pseudo_matrix 65
is_uniformizer 335300
kill_cache 14115
lift_to_zk 5411
loop 13042
loop_init 17087
manage_cache 39353
matinv 160
maxord 66585
maxord2 15
maxord_i 23110
mk_pr 461207
modpr_TAU 261266
modpr_genFq 30
modprinit 267680
mtran 820
mtran_long 1555
mul_intersect 61657
mycaract 39353
newtoncharpoly 38705
newtonsums 39353
nfM_to_FqM 185
nfV_to_FqV 20
nfX_to_FqX 3052
nf_to_Fq 622264
nf_to_Fq_init 261061
nfbasis 40
nfbasis_gp 40
nfdisc 2215
nfidealdet1 50
nfmaxord 2450
nfmaxord_check_args 4665
nfmodprinit 35
nfreducemodpr 310
nilord 13230
ok_modpr 398785
p_is_prime 716
pol_min 9815
polcompositum0 180
polsymmodp 21888
pradical 8789
primedec_apply_kummer 436605
primedec_aux 263214
primedec_end 8789
redelt 4977
redelt_i 7705
rnfallbase 125
rnfbasis 20
rnfdedekind 55
rnfdedekind_i 420
rnfdet 15
rnfdiscf 10
rnfeltid_powmod 835
rnfhnfbasis 10
rnfisfree 10
rnfisfree_aux 10
rnfjoinmodules 365
rnfjoinmodules_i 325
rnfmaxord 365
rnfpseudobasis 40
rnfsimplifybasis 0
rnfsteinitz 30
rowred 30
rowred_long 80
safe_Z_pvalrem 50
set_disc 4665
special_anti_uniformizer 163132
split_char 35634
testb2 5445
testc2 1037
to_ff_init 269245
triv_order 50
uniformizer 19349
update_den 339017
update_fact 160
update_phi 10278
vstar 33605
zk_to_Fq 306302
zk_to_Fq_init 8184
zkmodprinit 180
zx_z_div 64356

Generated by: LCOV version 1.9