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.0 lcov report (development 21351-66b5338) Lines: 1303 1448 90.0 %
Date: 2017-11-22 06:21:08 Functions: 130 143 90.9 %
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
idealapprfact 0
nfdivmodpr 0
nfkermodpr 0
nfpowmodpr 0
nfsolvemodpr 0
to_famat 0
vecinv 0
err_divexact 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
idealdiv0 42
idealpow0 42
idealtwoelt2 42
idealmul0 56
idealtwoelt0 63
idealaddtoone0 70
idealcoprime 70
isideal 91
idealaddtoone 98
idealhnf0 119
idealprodprime 126
nf_coprime_part 140
idealdivexact 777
famat_to_Fp_coprime 789
vecdiv 903
ext_pow 1177
famat_pow 1177
idealprod 1470
prV_e_muls 3073
idealhnf 3094
Q_nffactor 3101
pr_inv 3584
nf_to_Fp_coprime 4260
to_Fp_coprime 5110
make_integral 5621
idealnorm 6328
gpidealval 6573
factorbackprime 7203
ext_inv 10930
famat_to_nf_moddivisor 10983
famat_inv 11070
idealaddtoone_i 12201
idealcoprimefact 12537
famatsmall_reduce 12727
idealdivpowprime 13482
vecpow 15729
idealmulred 16440
pr_uniformizer 17501
famat_reduce 17983
idealapprfact_i 20412
idealdiv 20804
idealpows 21196
addmul_mat 22967
pr_inv_p 24459
_mul 26305
nf_get_Gtwist1 26871
twistG 26913
famat_inv_shallow 27020
prV_lcm_capZ 34811
idealHNF_Z_factor 36792
idealHNF_factor 36792
idealnumden 37009
idealtwoelt 38151
RM_round_maxrank 39527
idealfactor 39921
_idealmulred 42745
idealsqrprime 44641
famat_sqr 51020
addmul_col 51962
ZM_famat_limit 55930
idealHNF_inv 57873
idealpowred 59092
idealadd 59416
append 59742
ext_sqr 61590
_idealsqrred 61646
_sqr 61646
famat_pow_shallow 61915
p_makecoprime 62069
idealsqr 62353
idealsqr_aux 62353
famat_mulpow_shallow 63700
idealmulpowprime 67620
get_random_a 77323
famat_add 86402
idealpowprime 88903
famat_mul_shallow 93859
idealinv 97611
idealhnf_two 107843
idealaddtoone_raw 108220
famat_mul 110525
famat_makecoprime 111640
_idealaddtoone 120421
zk_pvalrem 135997
ext_mul 145231
ok_elt 148023
idealred0 164737
nf_get_Gtwist 164744
idealpow 178396
idealpow_aux 178396
vecmul 185605
idealHNF_inv_Z 191564
mat_ideal_two_elt 194556
idealmulelt 196571
idealHNF_norm_pval 202067
idealHNF_val 218816
nf_remove_denom_p 263600
idealhnf_principal 267601
idealHNF_mul 308988
idealhnf_shallow 320843
Z_cba 344645
Z_ppo 356257
Z_ppio 452893
idealval 488507
idealHNF_mul_two 630134
idealmul 640858
idealmul_aux 640858
to_famat_shallow 804384
pr_hnf 1161548
Z_cba_rec 3069115
idealtyp 3118766
u_ppo 30680286

Generated by: LCOV version 1.11