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 16827-3d78da8) Lines: 1507 1733 87.0 %
Date: 2014-09-29 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 16079
Lazard2 19866
Q_content 76564860
Q_denom 10098672
Q_div_to_int 2485
Q_divi_to_int 11626858
Q_divmuli_to_int 24633
Q_divq_to_int 150276
Q_gcd 54366468
Q_mul_to_int 0
Q_muli_to_int 8061989
Q_primitive_part 10109224
Q_primpart 1167947
Q_remove_denom 1198644
RgXQ_charpoly 12509
RgXQ_inv 111609
RgXQ_ratlift 56
RgX_Rg_mul_i 57883
RgX_disc 273
RgX_disc_aux 3297
RgX_extgcd 434
RgX_extgcd_simple 0
RgX_gcd 10563827
RgX_gcd_simple 8764
RgX_is_irred 28
RgX_is_irred_i 28
RgX_neg_i 19866
RgX_resultant_all 16107
RgX_simpletype 78631
RgX_sturmpart 0
RgX_type 173460
RgX_type_decode 91
RgX_type_is_composite 173019
ZX_content 6027
_domul 1697156
_pol_0 0
c_is_rational 56
c_zero_gcd 28
caract_const 84
centermod 4534715
centermod_i 6150735
centermodii 83398228
code 84
cont_gcd 3047146
cont_gcd_gen 7623
cont_gcd_pol 2231369
cont_gcd_rfrac 864920
content 74455585
deg1_from_roots 38388
divide_conquer_assoc 787057
divide_conquer_prod 299380
eltmul 2115
eltpow 3032
exact_sturm 231
factor 37604
factor0 0
factorback 15792
factorback2 469126
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 280
gcdext0 280
gcdiq 364289
gcdmonome 7193487
gcdqq 797294
gdivexact 2549615
gen_factorback 470554
ggcd 21689483
ggcd0 1407
ginvmod 2457
glcm 2919
glcm0 2849
gp_factor0 36183
idealfactorback 147
idmul 7
idmulred 0
idpow 98
idpowred 56
inexact 25108614
init_resultant 37835
is_rational 105
isinexactall 6768855
isirreducible 28
mul 1032003
must_negate 11312
newtonpoly 14
nextSousResultant 19866
nffactorback 1281
normalized_mul 170314
normalized_to_RgX 34335
padic_gcd 91
pol_approx0 38885
poldisc0 3024
polresultant0 238
polresultantext 525
polresultantext0 553
polsym 3717
polsym_gen 9527
powi 1500793
primitive_part 1333322
primpart 2555
reduceddiscsmith 14
reductum_lg 57015
resultant2 28
resultant_all 37807
rnfcharpoly 224
roots_from_deg1 609
roots_to_pol 10320
roots_to_pol_r1 24015
s_centermod 0
scal_lcm 2856
scalar_bezout 112
scalar_res 0
sturmpart 154
sturmpart_i 154
subres_step 179829
subresext 0
subresext_i 112162
sylvester_col 196
sylvestermatrix 14
sylvestermatrix_i 42
triv_cont_gcd 679
vec_lcm 0
zero_bezout 63
zero_extgcd 28
zero_gcd 8157132

Generated by: LCOV version 1.9