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 17238-ce76349) Lines: 1891 2199 86.0 %
Date: 2014-12-20 Functions: 150 160 93.8 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1043 1424 73.2 %

Function Name Sort by function name Hit count Sort by hit count
Decomp 23429
Flx_checkdeflate 99769
Flx_radical 99769
FpX_radical 3049
Fp_basis 38189
FqM_to_nfM 868
FqV_to_nfV 7
FqX_non_root 21
FqX_to_nfX 2737
Fq_to_nf 35665
QpXV_denom 46550
QpX_denom 324800
QpX_remove_denom 131656
RgV_nffix 28
RgX_nffix 46459
Rg_nffix 141680
Rg_to_ff 939554
ZX_Dedekind 95417
ZX_compositum_disjoint 385
ZX_rescale_inv 1295
Zlx_gcd 17868
Zlx_sylvester_echelon 186749
ZpM_hnfmodid 32557
ZpX_disc_val 27468
ZpX_gcd 23429
ZpX_reduced_resultant 78862
ZpX_reduced_resultant_fast 53179
ZpX_resultant_val 70924
ZpX_resultant_val_i 97531
ZpX_sylvester_echelon 13073
_msqr 2415
_sqr 7742
allbase2 0
allbase_from_maxord 4158
anti_uniformizer2 320570
checkmodpr 434
checkprid 1076901
companion 0
compmod 20111
compositum 35
compositum2 217
compositum_fix 693
dbasis 43589
diag_denom 6160
dim1proj 240668
disc_from_maxord 3101
errprime 0
fact_from_factors 49
ffdegree 434
fill 1666
fnz 37807
gen_if_principal 35
get_LV 13113
get_coprimes 77
get_d 462
get_g 38647
get_gamma 38332
get_maxord 7266
get_modpr 2492
get_norm 388877
get_nu 59703
get_order 70
get_partial_order_as_pols 46550
get_powers 17381
get_pr 39743
get_prid 550046
get_proj_modT 99142
getprime 46193
ideal_is1 2905
idealprimedec 160598
idealprimedec_limit_f 341299
idealprimedec_limit_norm 154644
indexpartial 2184
init_m 124103
init_norm 13113
is_prid 1629481
is_pseudo_matrix 63
is_uniformizer 388877
kill_cache 20020
lift_to_zk 8162
loop 18613
loop_init 24374
manage_cache 55937
matinv 0
maxord 95417
maxord2 0
maxord_i 32949
mk_pr 479373
modpr_TAU 322649
modpr_genFq 371
modprinit 341553
mtran 0
mtran_long 0
mul_intersect 91449
mycaract 55937
newtoncharpoly 54978
newtonsums 55937
nextk 7
nfM_to_FqM 539
nfV_to_FqV 3231
nfX_to_FqX 10703
nf_to_Fq 939120
nf_to_Fq_init 322327
nfbasis 56
nfbasis_gp 56
nfcompositum 371
nfdisc 3101
nfidealdet1 56
nfmaxord 4165
nfmaxord_check_args 7266
nfmodprinit 49
nfreducemodpr 434
nfsplitting 70
nilord 18914
ok_modpr 552706
p_is_prime 1022
pol_min 14175
polcompositum0 280
polsymmodp 31129
pradical 13113
primedec_apply_kummer 443239
primedec_aux 341299
primedec_end 13113
redelt 7105
redelt_i 11018
rnfallbase 469
rnfbasis 21
rnfdedekind 77
rnfdedekind_i 1078
rnfdet 21
rnfdiscf 7
rnfeltid_powmod 2072
rnfhnfbasis 7
rnfisfree 7
rnfisfree_aux 7
rnfjoinmodules 1001
rnfjoinmodules_i 833
rnfmaxord 1001
rnfpseudobasis 49
rnfsimplifybasis 0
rnfsteinitz 28
rowred 0
rowred_long 0
safe_Z_pvalrem 70
set_disc 7266
special_anti_uniformizer 175683
split_char 50652
testb2 7721
testc2 1498
to_ff_init 341626
triv_order 252
uniformizer 28338
update_den 484715
update_fact 224
update_phi 14595
vstar 47775
zk_to_Fq 417010
zk_to_Fq_init 19299
zkmodprinit 4974
zx_z_div 92362

Generated by: LCOV version 1.9