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 18603-5baf4f6) Lines: 1894 2205 85.9 %
Date: 2016-02-11 Functions: 149 159 93.7 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1049 1434 73.2 %

Function Name Sort by function name Hit count Sort by hit count
Decomp 23534
Flx_checkdeflate 101133
Flx_radical 101133
FpX_radical 3113
Fp_basis 40282
FqM_to_nfM 1036
FqV_to_nfV 7
FqX_non_root 21
FqX_to_nfX 3773
Fq_to_nf 38696
QpXV_denom 46746
QpX_denom 335153
QpX_remove_denom 141169
RgV_nffix 28
RgX_nffix 67872
Rg_nffix 197372
Rg_to_ff 1221556
ZX_Dedekind 96768
ZX_compositum_disjoint 385
ZX_rescale_inv 1337
Zlx_gcd 17966
Zlx_sylvester_echelon 187926
ZpM_hnfmodid 32830
ZpX_disc_val 27622
ZpX_gcd 23534
ZpX_reduced_resultant 79688
ZpX_reduced_resultant_fast 53914
ZpX_resultant_val 71036
ZpX_resultant_val_i 97741
ZpX_sylvester_echelon 13037
_msqr 2471
_sqr 7924
allbase2 0
allbase_from_maxord 5943
anti_uniformizer2 346813
checkmodpr 434
checkprid 1094458
companion 0
compmod 20083
compositum 35
compositum2 231
compositum_fix 791
dbasis 43981
diag_denom 6440
dim1proj 272161
disc_from_maxord 3129
errprime 0
fact_from_factors 63
ffdegree 434
fill 1848
fnz 40229
gen_if_principal 35
get_LV 14037
get_coprimes 84
get_d 1008
get_g 38682
get_gamma 38325
get_maxord 9079
get_modpr 45339
get_norm 465348
get_nu 59885
get_order 70
get_partial_order_as_pols 46746
get_powers 18249
get_pr 42144
get_prid 637021
get_proj_modT 140834
getprime 46473
ideal_is1 3129
idealprimedec 117273
idealprimedec_limit_f 403016
idealprimedec_limit_norm 178787
indexpartial 2555
init_m 124950
init_norm 14037
is_prid 1734027
is_pseudo_matrix 63
is_uniformizer 465348
lift_to_zk 8736
loop 18592
loop_init 24556
manage_cache 65254
matinv 0
maxord 96768
maxord2 0
maxord_i 33243
mk_pr 574371
modpr_TAU 349305
modpr_genFq 1848
modprinit 414549
mtran 0
mtran_long 0
mul_intersect 96496
mycaract 65254
newtoncharpoly 64295
newtonsums 65254
nextk 14
nfM_to_FqM 637
nfV_to_FqV 46120
nfX_to_FqX 13825
nf_to_Fq 1221122
nf_to_Fq_init 349025
nfbasis 56
nfbasis_gp 56
nfcompositum 434
nfdisc 3129
nfidealdet1 56
nfmaxord 5950
nfmaxord_check_args 9079
nfmodprinit 49
nfreducemodpr 434
nfsplitting 91
nilord 19117
ok_modpr 595938
p_is_prime 1029
pol_min 14903
polcompositum0 308
polsymmodp 38647
pradical 14037
primedec_apply_kummer 536004
primedec_aux 403016
primedec_end 14037
redelt 7287
redelt_i 11193
rnfallbase 1015
rnfbasis 21
rnfdedekind 77
rnfdedekind_i 1533
rnfdet 21
rnfdiscf 7
rnfeltid_powmod 2198
rnfhnfbasis 7
rnfisfree 7
rnfisfree_aux 7
rnfjoinmodules 1456
rnfjoinmodules_i 924
rnfmaxord 1456
rnfpseudobasis 49
rnfsimplifybasis 0
rnfsteinitz 28
rowred 0
rowred_long 0
safe_Z_pvalrem 112
set_disc 9079
special_anti_uniformizer 176299
split_char 50638
testb2 7707
testc2 1491
to_ff_init 372272
triv_order 679
uniformizer 29822
update_den 530705
update_fact 238
update_phi 14770
vstar 48090
zk_to_Fq 562078
zk_to_Fq_init 23247
zkmodprinit 47926
zx_z_div 93649

Generated by: LCOV version 1.9