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.1 lcov report (development 22708-0f0e6fe44) Lines: 2132 2238 95.3 %
Date: 2018-06-18 05:36:21 Functions: 168 171 98.2 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
FqV_to_nfV 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
ZpX_primedec 77
get_coprimes 77
rnfpseudobasis 77
nfbasis 84
rnfdedekind 84
QXQV_to_FpM 126
nfsplitting_composite 133
nfsplitting 140
fact_from_factors 168
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 784
triv_order 812
ZpX_monic_factor_squarefree 959
p_is_prime 1057
nf_pV_to_prV 1071
indexpartial 1246
compositum_fix 1365
ZX_rescale_inv 1456
rnfallbase 1512
get_d 1540
redelt 1638
testc2 1638
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 5635
zkmodprinit 6614
zk_to_Fq_init 6650
lift_to_zk 7238
diag_denom 7553
testb2 7966
FqM_to_nfM 8050
FqX_to_nfX 8323
nfX_to_FqX 9100
_msqr 10213
fill 10276
minval 12131
poldiscfactors_i 12649
nfmaxord 13930
ZpX_sylvester_echelon 14700
update_phi 15533
get_LV 16337
init_norm 16337
pradical 16337
primedec_end 16337
rnfeltid_powmod 16989
nfmaxord_check_args 17087
set_disc 17087
get_maxord 17164
Zlx_gcd 18437
loop 19355
compmod 20993
ideal_is1 21567
pol_min 22756
Decomp 24164
ZpX_gcd 24164
get_powers 25416
progress 25711
ZpX_disc_val 28812
ZpM_hnfmodid 33656
maxord_i 34412
fnz 39382
get_gamma 39886
get_g 40313
uniformizer 41908
dbasis 45339
QpXV_denom 47796
get_partial_order_as_pols 47796
nfXQ_mul 48216
nfX_rem 48216
getprime 48713
vstar 50442
Fp_basis 50909
nfX_mul 51394
split_char 52703
get_pr 53718
ZpX_reduced_resultant_fast 55286
_sqr 57029
get_nu 58639
get_norm 58719
is_uniformizer 58719
newtoncharpoly 66997
manage_cache 68005
mycaract 68005
newtonsums 68005
ZpX_reduced_resultant 81662
ei_msqr_mod 85706
zx_z_div 99209
maxord 102319
ZX_Dedekind 102396
Flx_checkdeflate 106858
Flx_radical 106858
pow_ei_mod_p 111096
mul_intersect 126203
idealprimedec 143766
QpX_remove_denom 146699
sqr_mod 180321
RgX_nffix 187503
idealprimedec_limit_norm 192920
QpX_denom 342412
anti_uniformizer 354319
dim1proj 354335
modprinit 367597
Rg_nffix 464176
update_den 541765
idealprimedec_limit_f 605059
primedec_aux 609252
ZpX_resultant_val 678495
ZpX_resultant_val_i 706285
init_m 733781
nf_to_Fq_init 744170
modpr_TAU 748881
to_ff_init 750820
get_prid 753599
idealprimedec_kummer 778384
Zlx_sylvester_echelon 797411
mk_pr 833403
zk_to_Fq 1162829
ok_modpr 1303869
Fq_to_nf 1331407
checkprid 2257798
checkprid_i 3037451
nf_to_Fq 5469993
Rg_to_ff 5470420

Generated by: LCOV version 1.13