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 to exceed 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.12.0 lcov report (development 23353-42c433a02) Lines: 2114 2235 94.6 %
Date: 2018-12-15 05:41:59 Functions: 167 171 97.7 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
FqV_to_nfV 0
ZpX_primedec 0
errprime 0
rnfsimplifybasis 0
lastel 7
nextk 7
rnfhnfbasis 7
rnfisfree 7
rnfisfree_aux 7
rnfdet 14
FqX_non_root 21
rnfbasis 21
RgV_nffix 28
poldiscfactors 28
rnfdiscf 28
rnfsteinitz 28
gen_if_principal 35
compositum 42
nfbasis_gp 56
is_pseudo_matrix 63
nfidealdet1 63
nfmodprinit 63
get_order 70
nfmodprlift 70
get_coprimes 77
rnfpseudobasis 77
rnfdedekind 84
nfbasis 91
nfsplitting_composite 133
QXQV_to_FpM 140
nfsplitting 140
checkmodpr 182
nfreducemodpr 182
idealprimedec_degrees 203
nfmodpr 252
compositum2 308
fact_from_factors 357
ffdegree 357
ZX_compositum_disjoint 385
rnfdisc_factored 385
ZpX_monic_factor 462
update_fact 546
polcompositum0 567
ZpX_round4 714
expo_is_squarefree 763
triv_order 889
nfcompositum 903
ZpX_monic_factor_squarefree 959
p_is_prime 1064
nf_pV_to_prV 1071
safe_Z_pvalrem 1225
indexpartial 1288
ZX_rescale_inv 1533
rnfallbase 1596
get_d 1624
compositum_fix 1673
redelt 1695
testc2 1695
rnfjoinmodules 1806
get_modpr 3073
pr_factorback 3094
pr_factorback_scal 3094
nfdisc 3171
rnfmaxord 3192
FpX_radical 3229
nfX_sub 3248
rnfdedekind_i 3276
nfV_to_FqV 3812
modpr_genFq 4200
nfM_to_FqM 4235
rnfjoinmodules_i 5138
redelt_i 5781
idealprimedec_galois 6062
zkmodprinit 6612
lift_to_zk 7406
zk_to_Fq_init 7427
FqM_to_nfM 8050
testb2 8213
FqX_to_nfX 8470
diag_denom 8553
nfX_to_FqX 9667
_msqr 10213
fill 10276
minval 12131
ZpX_sylvester_echelon 14817
poldiscfactors_i 15729
update_phi 15916
get_LV 16890
init_norm 16890
pradical 16890
primedec_end 16890
rnfeltid_powmod 16989
nfmaxord 17360
Zlx_gcd 19347
loop 20071
nfmaxord_check_args 20531
set_disc 20531
get_maxord 20608
ideal_is1 21567
compmod 21766
pol_min 23036
Decomp 25158
ZpX_gcd 25158
get_powers 25766
progress 26561
ZpX_disc_val 29914
ZpM_hnfmodid 35017
maxord_i 35731
get_gamma 40868
get_g 41330
uniformizer 42727
fnz 44627
dbasis 46475
nfXQ_mul 48216
nfX_rem 48216
QpXV_denom 49826
get_partial_order_as_pols 49826
getprime 49916
nfX_mul 51464
vstar 51729
Fp_basis 52393
split_char 54086
get_pr 55209
_sqr 57029
ZpX_reduced_resultant_fast 57129
get_nu 60101
get_norm 60308
is_uniformizer 60308
newtoncharpoly 68686
manage_cache 69736
mycaract 69736
newtonsums 69736
ZpX_reduced_resultant 83967
ei_msqr_mod 86973
zx_z_div 103388
ZX_Dedekind 106617
maxord 106617
Flx_checkdeflate 111423
Flx_radical 111423
pow_ei_mod_p 113427
mul_intersect 129591
idealprimedec 149954
QpX_remove_denom 151378
sqr_mod 182918
RgX_nffix 188553
idealprimedec_limit_norm 201166
QpX_denom 357269
dim1proj 371620
anti_uniformizer 372967
modprinit 387021
Rg_nffix 467704
update_den 555481
idealprimedec_limit_f 646227
primedec_aux 652490
ZpX_resultant_val 727128
get_prid 753606
ZpX_resultant_val_i 755235
init_m 784261
idealprimedec_kummer 839899
Zlx_sylvester_echelon 849557
nf_to_Fq_init 871666
modpr_TAU 876384
to_ff_init 879091
mk_pr 895884
zk_to_Fq 1195956
Fq_to_nf 1333794
ok_modpr 1432146
checkprid 2299344
checkprid_i 3096368
nf_to_Fq 5581849
Rg_to_ff 5582288

Generated by: LCOV version 1.13