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 - gen3.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 18953-2660f45) Lines: 2040 2205 92.5 %
Date: 2016-05-30 Functions: 199 207 96.1 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1564 1952 80.1 %

Function Name Sort by function name Hit count Sort by hit count
Itos 944737
QpV_to_QV 56
RgM_mulreal 0
RgX_cxeval 277543
RgX_deflate_max 35062
RgX_deflate_order 35174
RgX_degree 22169
RgX_integ 98
_egal 22249141
_egal_i 22249141
_gtopoly 2492602
_polcoeff 193158
_quot 602
_quotfi 7
_quotfs 77
_quotri 7
_quotrs 28
_quotsf 35
_quotsr 70
_rfraccoeff 21
_sercoeff 1316
bitprecision0 28
ceil_safe 63318
ceilr 14499
centerlift 12474
centerlift0 105
centerliftii 10094
coefstoser 7
compo 312
deg1pol 295373
deg1pol_shallow 1718940
degree 0
denom 9171330
deriv 104195
derivser 9807
diffop 3535
diffop0 42
diviiround 10993682
divrem 896
err_intformal 35
floor_safe 7786
gceil 26940
gcvtoi 82146
gdeflate 210
gdivent 6085905
gdiventgs 1429
gdiventres 20979
gdiventsg 6084077
gdivmod 0
gdivround 496531
gdvd 3850
geq 1218397
geval 0
geval_gp 10129
gfloor 4044819
gfrac 91
gge 124174
ggrando 4655
ggt 132356
gimag 2497
gle 7721024
glt 6211586
gmod 7428687
gmodgs 13788
gmodsg 7122018
gmodulo 822659
gmodulsg 695304
gmodulss 600245
gne 21030744
gnot 259427
gppoldegree 4347
gprecision 2627458
greal 81608
grndtoi 8249930
ground 953297
gshift 37262826
gsubst 210174
gsubst_expr 35
gsubstpol 84
gsubstvec 756
gtocol 182
gtocol0 1197
gtocolrev 0
gtocolrev0 252
gtopoly 68187
gtopolyrev 2424415
gtoser 106687
gtovec 230713
gtovec0 231903
gtovecpost 1141
gtovecpre 343
gtovecrev 7
gtovecrev0 266
gtovecsmall 485863
gtovecsmall0 13447
gtovecsmallpost 84
gtovecsmallpre 84
gtrunc 882
gtrunc2n 10092785
gvar 98838580
gvar2 19903591
gvar9 45759
hqfeval 0
imag_i 351445
init_qf_apply 145544
init_vectopre 245
integ 350
integ_act 14
integser 10325
inv_ser 294
iscomplex 21
isinexact 128552766
isinexactreal 13125
isint 24269
isrationalzeroscalar 0
isrealappr 77888
issmall 7469
lift 135385
lift0 223274
lift_intern 217801
liftall 77
liftall_shallow 679
liftint 119
liftint_shallow 546
liftpol 98
liftpol_shallow 137893
listdeflate 21
lookup 833
mkcoln 0
mkintn 8827
mkpoln 1373218
mkvecn 16443
mkvecsmalln 2327
mod_r 168
modr_safe 450170
modrs 14
modsf 35
modsr 35
mulreal 11028454
multi_coeff 41965
numer 8236535
op_ReIm 1142100
padic_to_Q 7959
padic_to_Q_shallow 7
padicprec 126
padicprec_relative 770
polcoeff0 53550
polcoeff_i 186718
poldeflate 112
poldegree 7985
poleval 677933
pollead 3341
poltoser 108108
prec0 10914
precCOMPLEX 1952418
precREAL 919705
precision 1272810
precision0 3192
precrealexact 326705
qf_apply_RgM 490
qf_apply_ZM 145054
qfbil 42
qfeval 21
qfevalb 21
qfnorm 56
quot 553
quotfi 7
quotfs 77
quotrem 343
quotri 7
quotrs 14
quotsf 35
quotsr 35
real_i 6462415
recvar 329
rfractoser 106106
round0 3493
round_i 15618465
roundr 1376048
roundr_safe 9609845
scalarpol 5158215
scalarpol_shallow 241515
scalarser 120848
ser2pol_i 3296216
ser2rfrac 252
ser2rfrac_i 3332
ser_unscale 602
serdeflate 35
serreverse 49
simplify 10849617
simplify_shallow 297319490
swapvar_act 21
tayl 7
tayl_act 7
toser_i 652644
triv_integ 35
trunc0 217
uu32toi 107945
var2_aux 8421
var2_polmod 1386
var2_rfrac 7035
variables_vec 14
variables_vecsmall 7
vdeflate 63
vec_padicprec 21
vec_padicprec_relative 224
vecdenom 777

Generated by: LCOV version 1.9