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.10.0 lcov report (development 20277-2bd9113) Lines: 2080 2251 92.4 %
Date: 2017-02-21 05:49:51 Functions: 210 219 95.9 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Itos 2814598
QpV_to_QV 91
RgM_mulreal 0
RgX_cxeval 287871
RgX_deflate_max 14561
RgX_deflate_order 14673
RgX_degree 21826
RgX_integ 483
ZX_deflate_max 23466
ZX_deflate_order 41169
_egal 24422600
_egal_i 24422600
_gtopoly 2493995
_polcoeff 174622
_quot 602
_quotfi 7
_quotfs 77
_quotri 7
_quotrs 28
_quotsf 35
_quotsr 70
_rfraccoeff 21
_sercoeff 12621
bitprecision0 567
ceil_safe 64034
ceilr 3026
centerlift 13454
centerlift0 105
centerliftii 9408
coefstoser 7
compo 305
deg1pol 527416
deg1pol_shallow 1863700
degree 0
denom 9544367
deriv 104237
derivser 11130
diffop 3535
diffop0 42
diviiround 11497928
divrem 896
err_intformal 35
floor_safe 8470
gceil 16832
gcvtoi 83546
gdeflate 210
gdivent 6086318
gdiventgs 1443
gdiventres 23492
gdiventsg 6084462
gdivmod 0
gdivround 261870
gdvd 3913
geq 1268350
geval 0
geval_gp 10129
gfloor 4291414
gfrac 91
gge 124174
ggrando 4830
ggt 131677
gimag 2840
gle 7623326
glt 6213882
gmod 7669831
gmodgs 16551
gmodsg 7396740
gmodulo 876393
gmodulsg 747254
gmodulss 599060
gne 23154250
gnot 259994
gppadicprec 105
gppoldegree 5383
gprecision 2658006
gpserprec 28
greal 83568
grndtoi 9116247
ground 995772
gshift 40396283
gsubst 883330
gsubst_expr 35
gsubstpol 84
gsubstvec 756
gtocol 182
gtocol0 1197
gtocolrev 0
gtocolrev0 252
gtopoly 69566
gtopolyrev 2424429
gtoser 209335
gtovec 241143
gtovec0 242186
gtovecpost 1155
gtovecpre 343
gtovecrev 7
gtovecrev0 266
gtovecsmall 1732356
gtovecsmall0 7392
gtovecsmallpost 84
gtovecsmallpre 84
gtrunc 889
gtrunc2n 10094763
gvar 100593806
gvar2 20354951
gvar9 46683
hqfeval 0
imag_i 350436
init_qf_apply 145662
init_vectopre 245
integ 350
integ_act 14
integser 11683
iscomplex 21
isinexact 128601475
isinexactreal 14581
isint 26180
isrationalzeroscalar 0
isrealappr 82156
issmall 7518
lift 105150
lift0 232085
lift_shallow 196025
liftall 126
liftall_shallow 945
liftint 119
liftint_shallow 546
liftpol 98
liftpol_shallow 136017
listdeflate 21
lookup 833
mkcoln 21
mkintn 13468
mkpoln 2346094
mkvecn 37366
mkvecsmalln 2388
modRr_safe 518225
mod_r 168
modrs 14
modsf 35
modsr 35
mulreal 10998189
multi_coeff 29631
numer 8609747
op_ReIm 1224803
padic_to_Q 8274
padic_to_Q_shallow 21
padicprec 4172
padicprec_relative 2030
polcoeff0 58527
polcoeff_i 162946
poldeflate 112
poldegree 10297
poleval 1352057
pollead 3502
poltoser 211281
prec0 10570
precCOMPLEX 3752707
precREAL 977974
precision 2708468
precision0 3339
precrealexact 507009
qf_apply_RgM 447
qf_apply_ZM 145215
qfb_apply_ZM 7
qfbeval 14
qfbevalb 7
qfbil 0
qfeval 21
qfeval0 133
qfevalb 21
qfnorm 0
qfnorm0 77
quot 553
quotfi 7
quotfs 77
quotrem 343
quotri 7
quotrs 14
quotsf 35
quotsr 35
real_i 6955380
recvar 329
rfractoser 151718
round0 3696
round_i 14676408
roundr 2694806
roundr_safe 6812623
scalarpol 5083644
scalarpol_shallow 254634
scalarser 168651
ser2pol_i 3492482
ser2rfrac 259
ser2rfrac_i 3612
ser_inv 728
ser_unscale 616
serdeflate 35
serprec 56
serreverse 98
sertoser 273
simplify 10672194
simplify_shallow 318858107
swapvar_act 21
tayl 7
tayl_act 7
toser_i 485909
triv_integ 35
trunc0 217
uu32toi 231448
var2_aux 8337
var2_polmod 1302
var2_rfrac 7035
variables_vec 14
variables_vecsmall 7
vdeflate 63
vec_padicprec 826
vec_padicprec_relative 357
vec_serprec 14
vecdenom 721

Generated by: LCOV version 1.11