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 17242-6994acc) Lines: 1505 1730 87.0 %
Date: 2014-12-22 Functions: 123 133 92.5 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1150 1590 72.3 %

Function Name Sort by function name Hit count Sort by hit count
Lazard 16653
Lazard2 20412
Q_content 83028774
Q_denom 11349277
Q_div_to_int 3668
Q_divi_to_int 12249380
Q_divmuli_to_int 19903
Q_divq_to_int 157960
Q_gcd 60102157
Q_mul_to_int 0
Q_muli_to_int 8950571
Q_primitive_part 10279529
Q_primpart 1174640
Q_remove_denom 1322622
RgXQ_charpoly 12565
RgXQ_inv 119092
RgXQ_ratlift 56
RgX_Rg_mul_i 59409
RgX_disc 567
RgX_disc_aux 3584
RgX_extgcd 343
RgX_extgcd_simple 0
RgX_gcd 10544864
RgX_gcd_simple 1127
RgX_is_irred 63
RgX_is_irred_i 63
RgX_neg_i 20412
RgX_resultant_all 16912
RgX_simpletype 81814
RgX_sturmpart 0
RgX_type 298321
RgX_type_decode 133
RgX_type_is_composite 295248
ZX_content 5852
_domul 1740706
_pol_0 0
c_is_rational 56
c_zero_gcd 28
caract_const 84
centermod 4558577
centermod_i 6183655
centermodii 92882100
code 168
cont_gcd 3048994
cont_gcd_gen 9177
cont_gcd_pol 2231705
cont_gcd_rfrac 864920
content 74423306
deg1_from_roots 38563
divide_conquer_assoc 930554
divide_conquer_prod 312614
eltmul 2346
eltpow 3445
exact_sturm 651
factor 38164
factor0 0
factorback 17759
factorback2 471093
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 438816
gcdmonome 7183316
gcdqq 935195
gdivexact 2747891
gen_factorback 474488
ggcd 21495648
ggcd0 1407
ginvmod 4459
glcm 2912
glcm0 2849
gp_factor0 36183
idealfactorback 574
idmul 91
idmulred 0
idpow 609
idpowred 56
inexact 25011531
init_resultant 39367
is_rational 105
isinexactall 6749577
isirreducible 63
mul 1032269
must_negate 3647
newtonpoly 7
nextSousResultant 20412
nffactorback 1547
normalized_mul 170686
normalized_to_RgX 35355
padic_gcd 91
pol_approx0 2849
poldisc0 3024
polresultant0 238
polresultantext 504
polresultantext0 532
polsym 4802
polsym_gen 19684
powi 1503033
primitive_part 1357848
primpart 2716
reduceddiscsmith 7
reductum_lg 58541
resultant2 21
resultant_all 39346
rnfcharpoly 224
roots_from_deg1 609
roots_to_pol 11760
roots_to_pol_r1 23595
s_centermod 0
scal_lcm 2856
scalar_bezout 112
scalar_res 0
sturmpart 350
sturmpart_i 350
subres_step 202199
subresext 0
subresext_i 119624
sylvester_col 133
sylvestermatrix 7
sylvestermatrix_i 28
triv_cont_gcd 357
vec_lcm 0
zero_bezout 63
zero_extgcd 28
zero_gcd 8160872

Generated by: LCOV version 1.9