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 17953-c39f2e6) Lines: 1491 1721 86.6 %
Date: 2015-08-30 Functions: 120 130 92.3 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1142 1586 72.0 %

Function Name Sort by function name Hit count Sort by hit count
Lazard 18403
Lazard2 21707
Q_content 83915320
Q_denom 12483391
Q_div_to_int 3668
Q_divi_to_int 12389494
Q_divmuli_to_int 22248
Q_divq_to_int 161684
Q_gcd 60893393
Q_mul_to_int 0
Q_muli_to_int 9942718
Q_primitive_part 10314381
Q_primpart 1182241
Q_remove_denom 1349106
RgXQ_charpoly 13209
RgXQ_inv 120254
RgXQ_ratlift 56
RgX_Rg_mul_i 65338
RgX_disc 833
RgX_disc_aux 3850
RgX_extgcd 315
RgX_extgcd_simple 0
RgX_gcd 10576738
RgX_gcd_simple 1169
RgX_is_irred 63
RgX_is_irred_i 63
RgX_neg_i 21707
RgX_resultant_all 18641
RgX_simpletype 85489
RgX_sturmpart 0
RgX_type 310557
RgX_type_decode 140
RgX_type_is_composite 308282
ZX_content 14448
_pol_0 0
c_is_rational 56
c_zero_gcd 28
caract_const 119
centermod 4625000
centermod_i 7214596
centermodii 104628278
code 175
cont_gcd 3089378
cont_gcd_gen 9002
cont_gcd_pol 2271980
cont_gcd_rfrac 864906
content 73450605
deg1_from_roots 39004
eltmul 2374
eltpow 3508
exact_sturm 1113
factor 39443
factor0 0
factorback 214299
factorback2 667880
fix_lcm 56
fix_pol 1176
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 477691
gcdmonome 7208701
gcdqq 965796
gdivexact 2871569
gen_factorback 672241
ggcd 21620120
ggcd0 1411
ginvmod 4473
glcm 3017
glcm0 2856
gp_factor0 36929
idealfactorback 868
idmul 140
idmulred 0
idpow 952
idpowred 56
inexact 25112968
init_resultant 41187
is_rational 105
isinexactall 6775211
isirreducible 63
mul 1290522
must_negate 3696
newtonpoly 7
nextSousResultant 21707
nffactorback 1617
normalized_mul 231685
normalized_to_RgX 80155
padic_gcd 91
pol_approx0 3115
poldisc0 3031
polresultant0 784
polresultantext 763
polresultantext0 791
polsym 6244
polsym_gen 21392
powi 1957857
primitive_part 1366857
primpart 2982
reduceddiscsmith 7
reductum_lg 62391
resultant2 21
resultant_all 41166
rnfcharpoly 224
roots_from_deg1 609
roots_to_pol 55440
roots_to_pol_r1 24715
s_centermod 0
scal_lcm 2856
scalar_bezout 112
scalar_res 0
sturmpart 581
sturmpart_i 581
subres_step 204194
subresext 0
subresext_i 121045
sylvester_col 133
sylvestermatrix 7
sylvestermatrix_i 28
triv_cont_gcd 357
vec_lcm 0
zero_bezout 63
zero_extgcd 28
zero_gcd 8169556

Generated by: LCOV version 1.9