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 17577-e669ab5) Lines: 1891 2199 86.0 %
Date: 2015-03-01 Functions: 150 160 93.8 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1039 1420 73.2 %

Function Name Sort by function name Hit count Sort by hit count
Decomp 23289
Flx_checkdeflate 98999
Flx_radical 98999
FpX_radical 3052
Fp_basis 38621
FqM_to_nfM 924
FqV_to_nfV 7
FqX_non_root 21
FqX_to_nfX 3164
Fq_to_nf 36897
QpXV_denom 46270
QpX_denom 323057
QpX_remove_denom 130676
RgV_nffix 28
RgX_nffix 65996
Rg_nffix 189952
Rg_to_ff 943348
ZX_Dedekind 94738
ZX_compositum_disjoint 385
ZX_rescale_inv 1281
Zlx_gcd 17752
Zlx_sylvester_echelon 185812
ZpM_hnfmodid 32298
ZpX_disc_val 27335
ZpX_gcd 23289
ZpX_reduced_resultant 78463
ZpX_reduced_resultant_fast 52801
ZpX_resultant_val 70504
ZpX_resultant_val_i 97083
ZpX_sylvester_echelon 13023
_msqr 2471
_sqr 7868
allbase2 0
allbase_from_maxord 4403
anti_uniformizer2 320969
checkmodpr 434
checkprid 1080237
companion 0
compmod 19950
compositum 35
compositum2 231
compositum_fix 735
dbasis 43372
diag_denom 5936
dim1proj 241130
disc_from_maxord 3101
errprime 0
fact_from_factors 49
ffdegree 434
fill 1736
fnz 38066
gen_if_principal 35
get_LV 13457
get_coprimes 77
get_d 728
get_g 38395
get_gamma 38094
get_maxord 7511
get_modpr 2506
get_norm 391031
get_nu 59255
get_order 70
get_partial_order_as_pols 46270
get_powers 17511
get_pr 40378
get_prid 550816
get_proj_modT 99394
getprime 45864
ideal_is1 3017
idealprimedec 112474
idealprimedec_limit_f 343799
idealprimedec_limit_norm 154714
indexpartial 2212
init_m 123305
init_norm 13457
is_prid 1633601
is_pseudo_matrix 63
is_uniformizer 391031
kill_cache 19866
lift_to_zk 8246
loop 18466
loop_init 24164
manage_cache 55559
matinv 0
maxord 94738
maxord2 0
maxord_i 32690
mk_pr 483120
modpr_TAU 323237
modpr_genFq 483
modprinit 342281
mtran 0
mtran_long 0
mul_intersect 92463
mycaract 55559
newtoncharpoly 54600
newtonsums 55559
nextk 7
nfM_to_FqM 581
nfV_to_FqV 3287
nfX_to_FqX 11221
nf_to_Fq 942914
nf_to_Fq_init 322915
nfbasis 56
nfbasis_gp 56
nfcompositum 392
nfdisc 3101
nfidealdet1 56
nfmaxord 4410
nfmaxord_check_args 7511
nfmodprinit 49
nfreducemodpr 434
nfsplitting 70
nilord 18732
ok_modpr 553091
p_is_prime 1015
pol_min 14263
polcompositum0 294
polsymmodp 30912
pradical 13457
primedec_apply_kummer 446375
primedec_aux 343799
primedec_end 13457
redelt 7028
redelt_i 10899
rnfallbase 735
rnfbasis 21
rnfdedekind 77
rnfdedekind_i 1267
rnfdet 21
rnfdiscf 7
rnfeltid_powmod 2142
rnfhnfbasis 7
rnfisfree 7
rnfisfree_aux 7
rnfjoinmodules 1190
rnfjoinmodules_i 868
rnfmaxord 1190
rnfpseudobasis 49
rnfsimplifybasis 0
rnfsteinitz 28
rowred 0
rowred_long 0
safe_Z_pvalrem 70
set_disc 7511
special_anti_uniformizer 175725
split_char 50295
testb2 7651
testc2 1484
to_ff_init 342571
triv_order 476
uniformizer 28609
update_den 481999
update_fact 224
update_phi 14476
vstar 47425
zk_to_Fq 417836
zk_to_Fq_init 19656
zkmodprinit 5093
zx_z_div 91680

Generated by: LCOV version 1.9