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 - polarit2.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 19614-52e089f) Lines: 1493 1713 87.2 %
Date: 2016-09-28 05:54:17 Functions: 125 133 94.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
FpV_factorback 77
Fpmul 14
Fppow 91
Lazard 64385
Lazard2 111173
Q_content 81254922
Q_denom 21935354
Q_div_to_int 2100
Q_divi_to_int 9850700
Q_divmuli_to_int 146480
Q_divq_to_int 167844
Q_gcd 58546011
Q_mul_to_int 0
Q_muli_to_int 11938968
Q_primitive_part 10285514
Q_primpart 1244555
Q_remove_denom 2114221
RgXQ_charpoly 58890
RgXQ_inv 10862
RgXQ_ratlift 56
RgX_Rg_mul_i 333365
RgX_disc 1211
RgX_disc_aux 4270
RgX_extgcd 343
RgX_extgcd_simple 0
RgX_gcd 10610995
RgX_gcd_simple 777
RgX_is_irred 63
RgX_is_irred_i 63
RgX_neg_i 111173
RgX_resultant_all 65106
RgX_simpletype 187741
RgX_sturmpart 0
RgX_type 579404
RgX_type_decode 14469
RgX_type_is_composite 326207
ZX_content 13153
_pol_0 0
c_is_rational 56
c_zero_gcd 28
caract_const 133
centermod 4855208
centermod_i 7409129
centermodii 118963914
choosetype 571284
code 14238
cont_gcd 3135382
cont_gcd_gen 10984
cont_gcd_pol 2316002
cont_gcd_rfrac 864892
content 73343123
deg1_from_roots 80413
eltmul 2742
eltpow 4457
exact_sturm 1575
factor 40305
factor0 0
factorback 1156992
factorback2 1611916
fix_lcm 126
fix_pol 2254
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 808520
gcdmonome 7153718
gcdqq 1148556
gdivexact 3257359
gen_factorback 1624411
ggcd 21595512
ggcd0 4596
ginvmod 4288
glcm 3066
glcm0 2884
gp_factor0 36951
idealfactorback 6979
idmul 140
idmulred 21
idpow 6524
idpowred 602
inexact 25904353
init_resultant 106166
isinexactall 6946852
isirreducible 63
mul 2646473
must_negate 3178
newtonpoly 28
nextSousResultant 111173
nffactorback 2191
normalized_mul 413866
normalized_to_RgX 261425
padic_gcd 154
pol_approx0 2107
poldisc0 3073
polresultant0 1323
polresultantext 840
polresultantext0 868
polsym 8302
polsym_gen 22722
powi 4247891
primitive_part 1138602
primpart 3087
reduceddiscsmith 7
reductum_lg 330495
resultant2 9149
resultant_all 97017
rnfcharpoly 224
roots_from_deg1 896
roots_to_pol 236619
roots_to_pol_r1 24841
s_centermod 0
scalar_bezout 112
scalar_res 0
settype 2628316
sturmpart 819
sturmpart_i 819
subres_step 24053
subresext 0
subresext_i 11730
sylvester_col 75509
sylvestermatrix 7
sylvestermatrix_i 9156
triv_cont_gcd 357
zero_bezout 63
zero_extgcd 28
zero_gcd 8165879
zero_gcd2 8155000

Generated by: LCOV version 1.11