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 - base4.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.1 lcov report (development 22726-9e20c6a88) Lines: 1416 1564 90.5 %
Date: 2018-06-23 05:36:28 Functions: 141 155 91.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
ZV_cba 0
ZV_cba_extend 0
Z_dcba_rec 0
Z_ppgle 0
famat_Z_gcd 0
famat_to_nf 0
idealHNF_Z_factor 0
idealapprfact 0
nfdivmodpr 0
nfkermodpr 0
nfpowmodpr 0
nfsolvemodpr 0
to_famat 0
vecinv 0
err_divexact 7
famat_div_shallow 7
hnf_QC_QC 7
idealmin 7
nfmulmodpr 7
vec_mulid 7
idealappr 14
idealappr0 14
not_in_ideal 14
chk_vdir 21
hnf_Q_Q 21
hnf_Z_QC 21
idealintersect 21
mat_ideal_two_elt2 21
hnf_Q_QC 28
hnf_Z_ZC 28
in_ideal 28
trivial_merge 28
idealaddmultoone 35
idealpow0 42
idealtwoelt2 42
idealdiv0 49
idealmul0 56
idealtwoelt0 63
idealaddtoone0 70
idealcoprime 70
isideal 91
idealaddtoone 98
idealispower 105
idealhnf0 119
gpidealfactor 140
nf_coprime_part 140
idealsqrtn_int 182
idealprodprime 329
famat_to_Fp_coprime 617
idealprod 784
vecdiv 903
ext_pow 1174
famat_pow 1174
idealdivexact 1197
idealredmodpower 1603
idealprodval 1946
famat_pows_shallow 2960
idealredmodpower_i 3192
prV_e_muls 3332
Q_nffactor 3465
pr_inv 3579
nf_to_Fp_coprime 4024
idealhnf 4228
famat_mulpows_shallow 4606
to_Fp_coprime 4724
make_integral 5600
gpidealval 6573
idealnorm 7098
factorbackprime 8330
_mul 8601
ext_inv 10955
famat_to_nf_moddivisor 11032
famat_inv 11095
idealcoprimefact 12572
idealaddtoone_i 14350
famatsmall_reduce 14662
vecpow 15729
famat_sqr 15737
idealmulred 16560
idealdivpowprime 17192
pr_uniformizer 18067
famat_reduce 18501
idealapprfact_i 20816
idealpows 21336
addmul_mat 23362
pr_inv_p 23702
idealdiv 23779
_idealmulred 25161
ext_sqr 26314
_idealsqrred 26328
_sqr 26328
idealsqr 26349
idealsqr_aux 26349
nf_get_Gtwist1 26945
twistG 26987
famat_inv_shallow 27055
append 28968
idealsqrprime 31511
prV_lcm_capZ 35236
idealHNF_factor 38022
idealHNF_Z_factor_i 38799
idealHNF_factor_i 38799
idealfactor 39513
idealnumden 39940
RM_round_maxrank 40770
idealfactor_limit 41529
idealpowred 43500
idealtwoelt 52476
addmul_col 52827
ZM_famat_limit 54663
idealHNF_inv 58799
famat_pow_shallow 59115
famat_mulpow_shallow 59241
idealadd 61285
p_makecoprime 62069
famat_add 72640
get_random_a 72722
famat_mul_shallow 78251
famat_mul 79133
idealmulpowprime 91603
idealinv 98931
famat_makecoprime 111640
idealaddtoone_raw 113533
idealpowprime 113547
ext_mul 113839
idealhnf_two 120954
_idealaddtoone 127883
idealred0 135473
nf_get_Gtwist 135480
zk_pvalrem 135815
ok_elt 138680
idealHNF_inv_Z 167945
mat_ideal_two_elt 173080
idealpow 183520
idealpow_aux 183520
vecmul 197274
idealmulelt 204173
idealHNF_norm_pval 208411
idealHNF_val 226803
nf_remove_denom_p 263418
idealhnf_principal 271813
idealhnf_shallow 325250
Z_cba 344771
Z_ppio 454020
idealval 516080
Z_ppo 799718
to_famat_shallow 879800
idealHNF_mul 942126
idealmul 1302043
idealmul_aux 1302043
pr_hnf 1840142
idealHNF_mul_two 1931953
Z_cba_rec 3069759
idealtyp 4453151
u_ppo 33269447

Generated by: LCOV version 1.13