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-bordeaux1.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 - polarit2.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 16912-212c0f0) Lines: 1507 1733 87.0 %
Date: 2014-10-20 Functions: 123 133 92.5 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1156 1603 72.1 %

Function Name Sort by function name Hit count Sort by hit count
Lazard 15792
Lazard2 19551
Q_content 76735328
Q_denom 10007678
Q_div_to_int 2443
Q_divi_to_int 11615787
Q_divmuli_to_int 24780
Q_divq_to_int 145210
Q_gcd 54634037
Q_mul_to_int 0
Q_muli_to_int 7994735
Q_primitive_part 10077763
Q_primpart 1158399
Q_remove_denom 1185127
RgXQ_charpoly 12306
RgXQ_inv 110380
RgXQ_ratlift 56
RgX_Rg_mul_i 57001
RgX_disc 259
RgX_disc_aux 3276
RgX_extgcd 315
RgX_extgcd_simple 0
RgX_gcd 10543121
RgX_gcd_simple 1127
RgX_is_irred 21
RgX_is_irred_i 21
RgX_neg_i 19551
RgX_resultant_all 15820
RgX_simpletype 77840
RgX_sturmpart 0
RgX_type 170275
RgX_type_decode 91
RgX_type_is_composite 169848
ZX_content 5873
_domul 1686326
_pol_0 0
c_is_rational 56
c_zero_gcd 28
caract_const 84
centermod 4523025
centermod_i 6138778
centermodii 83161876
code 84
cont_gcd 3045613
cont_gcd_gen 7609
cont_gcd_pol 2229850
cont_gcd_rfrac 864920
content 74380821
deg1_from_roots 38364
divide_conquer_assoc 783565
divide_conquer_prod 296055
eltmul 2087
eltpow 2997
exact_sturm 231
factor 37555
factor0 0
factorback 15792
factorback2 469092
fix_lcm 49
fix_pol 84
gauss_cmp 77
gauss_factor 42
gauss_factor_p 35
gauss_gcd 49
gauss_normal 112
gauss_primpart 42
gauss_primpart_try 70
gbezout 273
gcdext0 273
gcdiq 358106
gcdmonome 7180684
gcdqq 792181
gdivexact 2540697
gen_factorback 470506
ggcd 21462508
ggcd0 1407
ginvmod 2422
glcm 2912
glcm0 2849
gp_factor0 36183
idealfactorback 147
idmul 7
idmulred 0
idpow 98
idpowred 56
inexact 25013120
init_resultant 37443
is_rational 105
isinexactall 6751187
isirreducible 21
mul 1031983
must_negate 3605
newtonpoly 7
nextSousResultant 19551
nffactorback 1267
normalized_mul 168683
normalized_to_RgX 33243
padic_gcd 91
pol_approx0 2849
poldisc0 3017
polresultant0 238
polresultantext 504
polresultantext0 532
polsym 3486
polsym_gen 9282
powi 1500739
primitive_part 1328474
primpart 2492
reduceddiscsmith 7
reductum_lg 56140
resultant2 21
resultant_all 37422
rnfcharpoly 224
roots_from_deg1 609
roots_to_pol 10187
roots_to_pol_r1 23056
s_centermod 0
scal_lcm 2856
scalar_bezout 112
scalar_res 0
sturmpart 140
sturmpart_i 140
subres_step 177711
subresext 0
subresext_i 110912
sylvester_col 133
sylvestermatrix 7
sylvestermatrix_i 28
triv_cont_gcd 357
vec_lcm 0
zero_bezout 63
zero_extgcd 28
zero_gcd 8155039

Generated by: LCOV version 1.9