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 16962-5a32637) Lines: 1810 2116 85.5 %
Date: 2014-10-29 Functions: 144 154 93.5 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 986 1362 72.4 %

Function Name Sort by function name Hit count Sort by hit count
Decomp 22897
Flx_checkdeflate 96606
Flx_radical 96606
FpX_radical 3028
Fp_basis 35105
FqM_to_nfM 336
FqV_to_nfV 7
FqX_non_root 21
FqX_to_nfX 1442
Fq_to_nf 23835
QpXV_denom 45486
QpX_denom 316631
QpX_remove_denom 128359
RgV_nffix 28
RgX_nffix 4025
Rg_nffix 18669
Rg_to_ff 763136
ZX_Dedekind 92449
ZX_compositum_disjoint 385
ZX_rescale_inv 1239
Zlx_gcd 17434
Zlx_sylvester_echelon 182333
ZpM_hnfmodid 31696
ZpX_disc_val 26964
ZpX_gcd 22897
ZpX_reduced_resultant 76524
ZpX_reduced_resultant_fast 51247
ZpX_resultant_val 69524
ZpX_resultant_val_i 95781
ZpX_sylvester_echelon 12869
_msqr 840
_sqr 3962
allbase2 0
allbase_from_maxord 3164
anti_uniformizer2 313801
checkmodpr 434
checkprid 1008067
companion 0
compmod 19551
compositum 35
compositum2 175
compositum_fix 420
dbasis 42553
diag_denom 5096
dim1proj 226209
disc_from_maxord 3101
errprime 0
fact_from_factors 49
ffdegree 434
fill 854
fnz 32578
gen_if_principal 35
get_LV 11956
get_coprimes 77
get_d 161
get_g 37898
get_gamma 37590
get_maxord 6272
get_norm 390260
get_nu 58380
get_order 70
get_partial_order_as_pols 45486
get_powers 16583
get_pr 36526
get_prid 547351
get_proj_modT 95572
getprime 45122
ideal_is1 1582
idealprimedec 312912
indexpartial 1218
init_m 120771
init_norm 11956
is_prid 1555635
is_pseudo_matrix 63
is_uniformizer 390260
kill_cache 19474
lift_to_zk 7637
loop 18123
loop_init 23653
manage_cache 54705
matinv 0
maxord 92449
maxord2 0
maxord_i 32088
mk_pr 541327
modpr_TAU 315327
modpr_genFq 42
modprinit 324189
mtran 0
mtran_long 0
mul_intersect 84245
mycaract 54705
newtoncharpoly 53795
newtonsums 54705
nfM_to_FqM 231
nfV_to_FqV 28
nfX_to_FqX 4123
nf_to_Fq 762702
nf_to_Fq_init 315040
nfbasis 56
nfbasis_gp 56
nfdisc 3101
nfidealdet1 56
nfmaxord 3171
nfmaxord_check_args 6272
nfmodprinit 49
nfreducemodpr 434
nilord 18340
ok_modpr 547680
p_is_prime 994
pol_min 13636
polcompositum0 231
polsymmodp 30408
pradical 11956
primedec_apply_kummer 507356
primedec_aux 312912
primedec_end 11956
redelt 6804
redelt_i 10605
rnfallbase 161
rnfbasis 21
rnfdedekind 77
rnfdedekind_i 560
rnfdet 21
rnfdiscf 7
rnfeltid_powmod 1057
rnfhnfbasis 7
rnfisfree 7
rnfisfree_aux 7
rnfjoinmodules 483
rnfjoinmodules_i 427
rnfmaxord 483
rnfpseudobasis 49
rnfsimplifybasis 0
rnfsteinitz 28
rowred 0
rowred_long 0
safe_Z_pvalrem 70
set_disc 6272
special_anti_uniformizer 172638
split_char 49574
testb2 7546
testc2 1428
to_ff_init 326338
triv_order 70
uniformizer 26607
update_den 472220
update_fact 224
update_phi 14203
vstar 46627
zk_to_Fq 372696
zk_to_Fq_init 11298
zkmodprinit 238
zx_z_div 89415

Generated by: LCOV version 1.9