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-bordeaux.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.10.0 lcov report (development 20783-cec4728) Lines: 2011 2335 86.1 %
Date: 2017-06-28 05:59:20 Functions: 161 172 93.6 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Decomp 23996
Flx_checkdeflate 104704
Flx_radical 104704
FpX_radical 3113
Fp_basis 50928
FqM_to_nfM 8022
FqV_to_nfV 0
FqX_non_root 21
FqX_to_nfX 7273
Fq_to_nf 1328369
QXQV_to_FpM 119
QpXV_denom 47194
QpX_denom 337442
QpX_remove_denom 143661
RgV_nffix 28
RgX_nffix 56813
Rg_nffix 212484
Rg_to_ff 5465898
ZX_Dedekind 100205
ZX_compositum_disjoint 385
ZX_rescale_inv 1421
Zlx_gcd 18271
Zlx_sylvester_echelon 775461
ZpM_hnfmodid 33075
ZpX_disc_val 28287
ZpX_gcd 23996
ZpX_monic_factor 1232
ZpX_reduced_resultant 80624
ZpX_reduced_resultant_fast 54924
ZpX_resultant_val 657717
ZpX_resultant_val_i 684702
ZpX_sylvester_echelon 13861
_msqr 10269
_sqr 56819
allbase2 0
anti_uniformizer 352863
checkmodpr 182
checkprid 2331787
checkprid_i 3009982
companion 0
compmod 20517
compositum 35
compositum2 231
compositum_fix 1169
dbasis 44352
diag_denom 6818
dim1proj 351539
ei_msqr_mod 84535
errprime 0
expo_is_squarefree 1029
fact_from_factors 77
ffdegree 357
fill 10206
fnz 38297
gen_if_principal 35
get_LV 15746
get_coprimes 70
get_g 39445
get_gamma 39025
get_maxord 16170
get_modpr 3024
get_norm 58220
get_nu 60900
get_order 70
get_partial_order_as_pols 47194
get_powers 25449
get_pr 53317
get_prid 652638
getprime 47537
ideal_is1 21469
idealprimedec 141581
idealprimedec_degrees 203
idealprimedec_galois 3920
idealprimedec_kummer 756943
idealprimedec_limit_f 594431
idealprimedec_limit_norm 194334
indexpartial 2570
init_m 712641
init_norm 15746
is_pseudo_matrix 63
is_uniformizer 58220
lift_to_zk 6944
loop 18949
loop_init 25109
manage_cache 66374
matinv 0
maxord 100205
maxord2 0
maxord_i 33936
minval 12082
mk_pr 811605
modpr_TAU 749637
modpr_genFq 4144
modprinit 366048
mtran 0
mtran_long 0
mul_intersect 126602
mycaract 66374
newtoncharpoly 65394
newtonsums 66374
nextk 14
nfM_to_FqM 4207
nfV_to_FqV 3763
nfXQ_mul 48062
nfX_mul 50792
nfX_rem 48062
nfX_sub 2730
nfX_to_FqX 8288
nf_pV_to_prV 1057
nf_to_Fq 5465478
nf_to_Fq_init 745171
nfbasis 56
nfbasis_gp 56
nfcompositum 630
nfdisc 3129
nfidealdet1 63
nfmaxord 12971
nfmaxord_check_args 16100
nfmodpr 238
nfmodprinit 49
nfmodprlift 56
nfreducemodpr 182
nfsplitting 119
nilord 19523
ok_modpr 550515
p_is_prime 1022
pol_min 22936
polcompositum0 385
poldiscfactors 28
poldiscfactors_i 11858
polsymmodp 39326
pow_ei_mod_p 108136
pradical 15746
primedec_aux 598554
primedec_end 15746
redelt 7371
redelt_i 11326
rnfallbase 1505
rnfbasis 21
rnfdedekind 84
rnfdedekind_i 2758
rnfdet 21
rnfdiscf 7
rnfeltid_powmod 16919
rnfhnfbasis 7
rnfisfree 7
rnfisfree_aux 7
rnfjoinmodules 2674
rnfjoinmodules_i 5103
rnfmaxord 2674
rnfpseudobasis 49
rnfsimplifybasis 0
rnfsteinitz 28
rowred 0
rowred_long 0
safe_Z_pvalrem 203
set_disc 16100
split_char 51597
sqr_mod 177763
testb2 7805
testc2 1568
to_ff_init 751751
triv_order 805
uniformizer 41794
update_den 534968
update_fact 462
update_phi 14994
vstar 49238
zk_to_Fq 1162125
zk_to_Fq_init 6580
zkmodprinit 6598
zx_z_div 97086

Generated by: LCOV version 1.11