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 16375-9f41ae0) Lines: 1476 1704 86.6 %
Date: 2014-04-19 Functions: 120 130 92.3 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1152 1603 71.9 %

Function Name Sort by function name Hit count Sort by hit count
Lazard 16043
Lazard2 19857
Q_content 79538565
Q_denom 10253450
Q_div_to_int 2487
Q_divi_to_int 11047536
Q_divmuli_to_int 21608
Q_divq_to_int 154366
Q_gcd 56027702
Q_mul_to_int 0
Q_muli_to_int 7672812
Q_primitive_part 10376420
Q_primpart 1178353
Q_remove_denom 1340127
RgXQ_charpoly 12495
RgXQ_inv 113498
RgXQ_ratlift 56
RgX_Rg_mul_i 57883
RgX_disc 364
RgX_disc_aux 3388
RgX_extgcd 8596
RgX_extgcd_simple 0
RgX_gcd 10554681
RgX_gcd_simple 8680
RgX_is_irred 28
RgX_is_irred_i 28
RgX_neg_i 19857
RgX_resultant_all 16075
RgX_simpletype 78425
RgX_type 150938
RgX_type_code 84
RgX_type_decode 91
RgX_type_is_composite 150497
ZX_content 1556
_domul 1750186
_pol_0 0
c_is_rational 56
c_zero_gcd 28
caract_const 84
centermod 4656068
centermod_i 6519110
centermodii 114766275
cont_gcd 3046253
cont_gcd_gen 7623
cont_gcd_pol 2230483
cont_gcd_rfrac 864941
content 74474921
deg1_from_roots 38206
divide_conquer_assoc 842312
divide_conquer_prod 317417
eltmul 2578
eltpow 3620
factor 1814
factor0 0
factorback 14750
factorback2 467888
fix_lcm 0
fix_pol 70
gauss_cmp 70
gauss_factor 35
gauss_factor_p 28
gauss_gcd 49
gauss_normal 105
gauss_primpart 35
gauss_primpart_try 63
gbezout 280
gcdext0 280
gcdiq 360513
gcdmonome 7184625
gcdqq 772012
gdivexact 1952477
gen_factorback 469548
ggcd 21677304
ggcd0 1407
ginvmod 2456
glcm 2870
glcm0 2807
gp_factor0 385
idealfactorback 147
idmul 7
idmulred 0
idpow 98
idpowred 56
inexact 25101402
init_resultant 37732
is_rational 105
isinexactall 6766600
isirreducible 28
mul 1028719
must_negate 12411
newtonpoly 14
nextSousResultant 19857
nffactorback 1513
normalized_mul 170468
normalized_to_RgX 34880
padic_gcd 91
pol_approx0 38717
poldisc0 3024
polresultant0 217
polresultantext 7
polresultantext0 35
polsym 3570
polsym_gen 9380
powi 1496256
primitive_part 1366543
primpart 8750
reduceddiscsmith 14
reductum_lg 57010
resultant2 28
resultant_all 37704
rnfcharpoly 224
roots_from_deg1 609
roots_to_pol 10760
roots_to_pol_r1 24120
s_centermod 0
scal_lcm 2807
scalar_bezout 112
scalar_res 0
sturmpart 3388
subres_step 195196
subresext 0
subresext_i 113533
sylvester_col 196
sylvestermatrix 14
sylvestermatrix_i 42
triv_cont_gcd 679
vec_lcm 0
zero_bezout 63
zero_extgcd 28
zero_gcd 8156619

Generated by: LCOV version 1.9