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 22303-eb3e11d) Lines: 2010 2125 94.6 %
Date: 2018-04-21 06:16:28 Functions: 160 163 98.2 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Decomp 24248
Flx_checkdeflate 106340
Flx_radical 106340
FpX_radical 3175
Fp_basis 50790
FqM_to_nfM 8092
FqV_to_nfV 0
FqX_non_root 21
FqX_to_nfX 7637
Fq_to_nf 1330406
QXQV_to_FpM 119
QpXV_denom 47698
QpX_denom 340921
QpX_remove_denom 145726
RgV_nffix 28
RgX_nffix 62672
Rg_nffix 235402
Rg_to_ff 5472394
ZX_Dedekind 101871
ZX_compositum_disjoint 385
ZX_rescale_inv 1456
Zlx_gcd 18393
Zlx_sylvester_echelon 774913
ZpM_hnfmodid 33544
ZpX_disc_val 28658
ZpX_gcd 24248
ZpX_monic_factor 1239
ZpX_reduced_resultant 81305
ZpX_reduced_resultant_fast 54964
ZpX_resultant_val 656146
ZpX_resultant_val_i 683950
ZpX_sylvester_echelon 14590
_msqr 10311
_sqr 57092
anti_uniformizer 353850
checkmodpr 182
checkprid 2230636
checkprid_i 3009806
compmod 20818
compositum 35
compositum2 231
compositum_fix 1323
dbasis 45178
diag_denom 7406
dim1proj 353985
ei_msqr_mod 84250
errprime 0
expo_is_squarefree 1036
fact_from_factors 133
ffdegree 357
fill 10346
fnz 38899
gen_if_principal 35
get_LV 16106
get_coprimes 77
get_g 40040
get_gamma 39613
get_maxord 16863
get_modpr 3073
get_norm 58572
get_nu 61901
get_order 70
get_partial_order_as_pols 47698
get_powers 25367
get_pr 53354
get_prid 753466
getprime 48349
ideal_is1 21651
idealprimedec 140644
idealprimedec_degrees 203
idealprimedec_galois 3920
idealprimedec_kummer 754565
idealprimedec_limit_f 593441
idealprimedec_limit_norm 194306
indexpartial 1267
init_m 711110
init_norm 16106
is_pseudo_matrix 63
is_uniformizer 58572
lift_to_zk 7070
loop 19187
loop_init 25494
manage_cache 67431
maxord 101871
maxord_i 34405
minval 12180
mk_pr 809507
modpr_TAU 749336
modpr_genFq 4144
modprinit 367065
mul_intersect 125818
mycaract 67431
newtoncharpoly 66423
newtonsums 67431
nextk 7
nfM_to_FqM 4256
nfV_to_FqV 3812
nfXQ_mul 48321
nfX_mul 51205
nfX_rem 48321
nfX_sub 2884
nfX_to_FqX 8596
nf_pV_to_prV 1071
nf_to_Fq 5471967
nf_to_Fq_init 744625
nfbasis 56
nfbasis_gp 56
nfcompositum 728
nfdisc 3157
nfidealdet1 63
nfmaxord 13629
nfmaxord_check_args 16786
nfmodpr 252
nfmodprinit 63
nfmodprlift 70
nfreducemodpr 182
nfsplitting 126
nilord 19838
ok_modpr 1304121
p_is_prime 1043
pol_min 22791
polcompositum0 469
poldiscfactors 28
poldiscfactors_i 12390
pow_ei_mod_p 109878
pradical 16106
primedec_aux 597564
primedec_end 16106
redelt 7581
redelt_i 11564
rnfallbase 1624
rnfbasis 21
rnfdedekind 84
rnfdedekind_i 2912
rnfdet 21
rnfdiscf 7
rnfeltid_powmod 17052
rnfhnfbasis 7
rnfisfree 7
rnfisfree_aux 7
rnfjoinmodules 2828
rnfjoinmodules_i 5173
rnfmaxord 2828
rnfpseudobasis 49
rnfsimplifybasis 0
rnfsteinitz 28
safe_Z_pvalrem 651
set_disc 16786
split_char 52269
sqr_mod 178179
testb2 7882
testc2 1631
to_ff_init 751205
triv_order 903
uniformizer 41915
update_den 538776
update_fact 525
update_phi 15393
vstar 50078
zk_to_Fq 1164470
zk_to_Fq_init 6580
zkmodprinit 6621
zx_z_div 98696

Generated by: LCOV version 1.11