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 21925-0da0e71) Lines: 2023 2140 94.5 %
Date: 2018-02-21 06:16:18 Functions: 161 164 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
nextk 7
rnfdiscf 7
rnfhnfbasis 7
rnfisfree 7
rnfisfree_aux 7
FqX_non_root 21
rnfbasis 21
rnfdet 21
RgV_nffix 28
poldiscfactors 28
rnfsteinitz 28
compositum 35
gen_if_principal 35
rnfpseudobasis 49
nfbasis 56
nfbasis_gp 56
nfmodprinit 56
get_coprimes 63
is_pseudo_matrix 63
nfidealdet1 63
get_order 70
nfmodprlift 70
rnfdedekind 84
QXQV_to_FpM 119
nfsplitting 126
fact_from_factors 133
checkmodpr 182
nfreducemodpr 182
idealprimedec_degrees 203
compositum2 231
nfmodpr 245
ffdegree 357
ZX_compositum_disjoint 385
update_fact 490
polcompositum0 553
safe_Z_pvalrem 651
nfcompositum 812
triv_order 889
p_is_prime 1022
expo_is_squarefree 1036
nf_pV_to_prV 1071
indexpartial 1204
ZpX_monic_factor 1239
ZX_rescale_inv 1456
compositum_fix 1491
rnfallbase 1610
testc2 1680
rnfjoinmodules 2807
rnfmaxord 2807
nfX_sub 2863
rnfdedekind_i 2891
get_modpr 3024
FpX_radical 3126
nfdisc 3150
nfV_to_FqV 3763
idealprimedec_galois 3920
modpr_genFq 4144
nfM_to_FqM 4256
rnfjoinmodules_i 5173
zkmodprinit 6574
zk_to_Fq_init 6580
lift_to_zk 6972
diag_denom 7497
FqX_to_nfX 7595
redelt 7672
testb2 8001
FqM_to_nfM 8092
nfX_to_FqX 8554
_msqr 10311
fill 10346
redelt_i 11676
minval 12180
poldiscfactors_i 12180
nfmaxord 13363
ZpX_sylvester_echelon 13857
update_phi 15457
get_LV 15749
init_norm 15749
pradical 15749
primedec_end 15749
nfmaxord_check_args 16513
set_disc 16513
get_maxord 16576
rnfeltid_powmod 17052
Zlx_gcd 18477
loop 19397
nilord 19894
compmod 21077
ideal_is1 21651
pol_min 22318
Decomp 24213
ZpX_gcd 24213
get_powers 24845
loop_init 25746
ZpX_disc_val 28609
ZpM_hnfmodid 33530
maxord_i 34391
fnz 38941
get_gamma 39619
get_g 40060
polsymmodp 40264
uniformizer 40989
dbasis 45171
QpXV_denom 47628
get_partial_order_as_pols 47628
nfXQ_mul 48321
nfX_rem 48321
getprime 48475
Fp_basis 48635
vstar 50211
nfX_mul 51184
get_pr 51185
split_char 52592
ZpX_reduced_resultant_fast 54939
_sqr 57092
get_norm 57758
is_uniformizer 57758
RgX_nffix 62014
get_nu 62092
newtoncharpoly 66803
manage_cache 67797
mycaract 67797
newtonsums 67797
ZpX_reduced_resultant 80601
ei_msqr_mod 80907
zx_z_div 98619
ZX_Dedekind 101745
maxord 101745
Flx_checkdeflate 106278
Flx_radical 106278
pow_ei_mod_p 106363
mul_intersect 120039
idealprimedec 138340
QpX_remove_denom 146731
sqr_mod 169138
idealprimedec_limit_norm 194306
Rg_nffix 232343
QpX_denom 341751
anti_uniformizer 353689
dim1proj 353755
modprinit 366850
update_den 541949
ok_modpr 550984
idealprimedec_limit_f 590740
primedec_aux 594863
ZpX_resultant_val 652004
get_prid 653884
ZpX_resultant_val_i 679010
init_m 706943
nf_to_Fq_init 743106
modpr_TAU 747852
idealprimedec_kummer 749652
to_ff_init 749686
Zlx_sylvester_echelon 769967
mk_pr 803528
zk_to_Fq 1162523
Fq_to_nf 1330119
checkprid 2319647
checkprid_i 2999186
nf_to_Fq 5469601
Rg_to_ff 5470028

Generated by: LCOV version 1.11