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 16624-25b9976) Lines: 1512 1737 87.0 %
Date: 2014-06-24 Functions: 123 133 92.5 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1185 1639 72.3 %

Function Name Sort by function name Hit count Sort by hit count
Lazard 11455
Lazard2 14164
Q_content 58172330
Q_denom 7783216
Q_div_to_int 1784
Q_divi_to_int 8455600
Q_divmuli_to_int 17361
Q_divq_to_int 114952
Q_gcd 41214898
Q_mul_to_int 0
Q_muli_to_int 6115264
Q_primitive_part 7458472
Q_primpart 903237
Q_remove_denom 964831
RgXQ_charpoly 8911
RgXQ_inv 80546
RgXQ_ratlift 40
RgX_Rg_mul_i 41297
RgX_disc 260
RgX_disc_aux 2420
RgX_extgcd 310
RgX_extgcd_simple 0
RgX_gcd 7706646
RgX_gcd_simple 6200
RgX_is_irred 20
RgX_is_irred_i 20
RgX_neg_i 14164
RgX_resultant_all 11477
RgX_simpletype 56091
RgX_sturmpart 0
RgX_type 107812
RgX_type_code 60
RgX_type_decode 65
RgX_type_is_composite 107497
ZX_content 1105
_domul 1218827
_pol_0 0
c_is_rational 40
c_zero_gcd 20
caract_const 60
centermod 3345293
centermod_i 4499552
centermodii 79867464
cont_gcd 2217632
cont_gcd_gen 5445
cont_gcd_pol 1627387
cont_gcd_rfrac 627638
content 53897073
deg1_from_roots 27420
divide_conquer_assoc 574498
divide_conquer_prod 225851
eltmul 1815
eltpow 2551
exact_sturm 135
factor 26872
factor0 0
factorback 11267
factorback2 335077
fix_lcm 35
fix_pol 50
gauss_cmp 55
gauss_factor 30
gauss_factor_p 25
gauss_gcd 35
gauss_normal 80
gauss_primpart 30
gauss_primpart_try 50
gbezout 200
gcdext0 200
gcdiq 272155
gcdmonome 5298369
gcdqq 593946
gdivexact 1336336
gen_factorback 336263
ggcd 15728696
ggcd0 1005
ginvmod 1774
glcm 2085
glcm0 2035
gp_factor0 25845
idealfactorback 105
idmul 5
idmulred 0
idpow 70
idpowred 40
inexact 17934865
init_resultant 26988
is_rational 75
isinexactall 4835589
isirreducible 20
mul 737105
must_negate 8020
newtonpoly 10
nextSousResultant 14164
nffactorback 1081
normalized_mul 121570
normalized_to_RgX 24548
padic_gcd 65
pol_approx0 27655
poldisc0 2160
polresultant0 165
polresultantext 340
polresultantext0 360
polsym 2660
polsym_gen 6810
powi 1071930
primitive_part 978079
primpart 1810
reduceddiscsmith 10
reductum_lg 40672
resultant2 20
resultant_all 26968
rnfcharpoly 160
roots_from_deg1 435
roots_to_pol 7318
roots_to_pol_r1 17230
s_centermod 0
scal_lcm 2040
scalar_bezout 80
scalar_res 0
sturmpart 95
sturmpart_i 95
subres_step 135492
subresext 0
subresext_i 80906
sylvester_col 140
sylvestermatrix 10
sylvestermatrix_i 30
triv_cont_gcd 485
vec_lcm 0
zero_bezout 45
zero_extgcd 20
zero_gcd 5915759

Generated by: LCOV version 1.9