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 23008-54b2e2f01) Lines: 2114 2235 94.6 %
Date: 2018-09-20 05:37:46 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
QXQV_to_FpM 126
nfsplitting_composite 133
nfsplitting 140
fact_from_factors 175
checkmodpr 182
nfreducemodpr 182
idealprimedec_degrees 203
compositum2 231
nfmodpr 252
ffdegree 357
ZX_compositum_disjoint 385
rnfdisc_factored 385
ZpX_monic_factor 462
polcompositum0 490
update_fact 539
ZpX_round4 714
nfcompositum 749
expo_is_squarefree 763
safe_Z_pvalrem 798
triv_order 819
ZpX_monic_factor_squarefree 959
p_is_prime 1057
nf_pV_to_prV 1071
indexpartial 1246
compositum_fix 1365
ZX_rescale_inv 1456
rnfallbase 1519
get_d 1547
redelt 1631
testc2 1631
rnfjoinmodules 1799
pr_factorback 2940
pr_factorback_scal 2940
get_modpr 3073
rnfmaxord 3122
nfdisc 3157
nfX_sub 3178
FpX_radical 3187
rnfdedekind_i 3206
nfV_to_FqV 3812
idealprimedec_galois 3990
modpr_genFq 4200
nfM_to_FqM 4235
rnfjoinmodules_i 5138
redelt_i 5628
zkmodprinit 6617
zk_to_Fq_init 6692
lift_to_zk 7238
diag_denom 7567
testb2 7952
FqM_to_nfM 8050
FqX_to_nfX 8323
nfX_to_FqX 9142
_msqr 10213
fill 10276
minval 12131
poldiscfactors_i 12670
nfmaxord 13979
ZpX_sylvester_echelon 14697
update_phi 15505
get_LV 16358
init_norm 16358
pradical 16358
primedec_end 16358
rnfeltid_powmod 16989
nfmaxord_check_args 17136
set_disc 17136
get_maxord 17213
Zlx_gcd 18424
loop 19334
compmod 20965
ideal_is1 21567
pol_min 22756
Decomp 24150
ZpX_gcd 24150
get_powers 25416
progress 25697
ZpX_disc_val 28777
ZpM_hnfmodid 33677
maxord_i 34391
fnz 39382
get_gamma 39851
get_g 40278
uniformizer 41929
dbasis 45353
QpXV_denom 47810
get_partial_order_as_pols 47810
nfXQ_mul 48216
nfX_rem 48216
getprime 48664
vstar 50393
Fp_basis 50909
nfX_mul 51394
split_char 52647
get_pr 53739
ZpX_reduced_resultant_fast 55237
_sqr 57029
get_nu 58576
get_norm 58782
is_uniformizer 58782
newtoncharpoly 66913
manage_cache 67921
mycaract 67921
newtonsums 67921
ZpX_reduced_resultant 81606
ei_msqr_mod 85727
zx_z_div 99195
ZX_Dedekind 102382
maxord 102382
Flx_checkdeflate 106844
Flx_radical 106844
pow_ei_mod_p 111138
mul_intersect 126203
idealprimedec 143794
QpX_remove_denom 146559
sqr_mod 180342
RgX_nffix 187517
idealprimedec_limit_norm 192976
QpX_denom 342265
anti_uniformizer 354361
dim1proj 354429
modprinit 367684
Rg_nffix 464204
update_den 541520
idealprimedec_limit_f 605253
primedec_aux 609446
ZpX_resultant_val 678465
ZpX_resultant_val_i 706220
init_m 733702
nf_to_Fq_init 744667
modpr_TAU 749378
to_ff_init 751359
get_prid 753599
idealprimedec_kummer 778578
Zlx_sylvester_echelon 797279
mk_pr 833639
zk_to_Fq 1162824
ok_modpr 1304408
Fq_to_nf 1331407
checkprid 2258060
checkprid_i 3037741
nf_to_Fq 5470658
Rg_to_ff 5471085

Generated by: LCOV version 1.13