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 16791-0d1274a) Lines: 1998 2116 94.4 %
Date: 2014-09-16 Functions: 152 154 98.7 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1133 1362 83.2 %

Function Name Sort by function name Hit count Sort by hit count
Decomp 16430
Flx_checkdeflate 69424
Flx_radical 69424
FpX_radical 2220
Fp_basis 25205
FqM_to_nfM 280
FqV_to_nfV 5
FqX_non_root 15
FqX_to_nfX 1080
Fq_to_nf 17860
QpXV_denom 32640
QpX_denom 227170
QpX_remove_denom 92360
RgV_nffix 20
RgX_nffix 2925
Rg_nffix 13570
Rg_to_ff 552686
ZX_Dedekind 66475
ZX_compositum_disjoint 275
ZX_rescale_inv 905
Zlx_gcd 12029
Zlx_sylvester_echelon 129580
ZpM_hnfmodid 22820
ZpX_disc_val 19315
ZpX_gcd 16430
ZpX_reduced_resultant 55075
ZpX_reduced_resultant_fast 36920
ZpX_resultant_val 49855
ZpX_resultant_val_i 68660
ZpX_sylvester_echelon 10585
_msqr 680
_sqr 2990
allbase2 10
allbase_from_maxord 2435
anti_uniformizer2 225198
checkmodpr 310
checkprid 722331
companion 10
compmod 14090
compositum 30
compositum2 130
compositum_fix 320
dbasis 30585
diag_denom 3865
dim1proj 162519
disc_from_maxord 2215
errprime 0
fact_from_factors 35
ffdegree 310
fill 650
fnz 23715
gen_if_principal 40
get_LV 8615
get_coprimes 55
get_d 125
get_g 27210
get_gamma 26970
get_maxord 4655
get_norm 280197
get_nu 41965
get_order 70
get_partial_order_as_pols 32640
get_powers 11880
get_pr 26240
get_prid 398645
get_proj_modT 68534
getprime 32510
ideal_is1 1325
idealprimedec 224296
indexpartial 900
init_m 86775
init_norm 8615
is_prid 1121131
is_pseudo_matrix 65
is_uniformizer 280197
kill_cache 14080
lift_to_zk 5455
loop 13045
loop_init 17095
manage_cache 39320
matinv 160
maxord 66475
maxord2 15
maxord_i 23100
mk_pr 388287
modpr_TAU 226308
modpr_genFq 30
modprinit 232753
mtran 820
mtran_long 1555
mul_intersect 60455
mycaract 39320
newtoncharpoly 38670
newtonsums 39320
nfM_to_FqM 185
nfV_to_FqV 20
nfX_to_FqX 3060
nf_to_Fq 552376
nf_to_Fq_init 226103
nfbasis 40
nfbasis_gp 40
nfdisc 2215
nfidealdet1 50
nfmaxord 2440
nfmaxord_check_args 4655
nfmodprinit 35
nfreducemodpr 310
nilord 13230
ok_modpr 398880
p_is_prime 710
pol_min 9775
polcompositum0 175
polsymmodp 21865
pradical 8615
primedec_apply_kummer 363822
primedec_aux 224296
primedec_end 8615
redelt 4985
redelt_i 7710
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 4655
special_anti_uniformizer 124159
split_char 35625
testb2 5440
testc2 1045
to_ff_init 234318
triv_order 50
uniformizer 19115
update_den 338715
update_fact 160
update_phi 10265
vstar 33605
zk_to_Fq 269268
zk_to_Fq_init 8215
zkmodprinit 180
zx_z_div 64251

Generated by: LCOV version 1.9