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 - gen3.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 16746-c2cb716) Lines: 1954 2168 90.1 %
Date: 2014-08-31 Functions: 192 202 95.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1472 1900 77.5 %

Function Name Sort by function name Hit count Sort by hit count
Itos 3720
QpV_to_QV 40
RgM_mulreal 0
RgX_RgM_eval_col 0
RgX_deflate_max 16419
RgX_degree 51
RgX_integ 70
_egal 3820245
_gtopoly 1699277
_polcoeff 873
_quot 390
_quotfi 5
_quotfs 10
_quotri 10
_quotrs 30
_quotsf 25
_quotsr 75
_rfraccoeff 15
_sercoeff 635
ceil_safe 35912
ceilr 402
centerlift 6470
centerlift0 280
centerliftii 5445
checkdeflate 16479
coefstoser 5
compo 220
deg1pol 615
deg1pol_shallow 220213
degree 5
denom 6645278
deriv 56075
derivser 600
diffop 2540
diffop0 30
diviiround 5926502
divrem 640
err_intformal 25
floor_safe 2372
gceil 6067
gcvtoi 46196
gdeflate 130
gdivent 3926965
gdiventgs 275
gdiventres 655
gdiventsg 3925735
gdivmod 0
gdivround 166330
gdvd 2725
geq 433370
geval 0
geval_gp 7025
gfloor 1843011
gfrac 14720
gge 88660
ggrando 2620
ggt 97145
gimag 130
gle 5514005
glt 4239176
gmod 4177545
gmodgs 9759
gmodsg 4110116
gmodulo 483935
gmodulsg 474911
gmodulss 429902
gne 3386875
gnot 184708
gppoldegree 1190
gprecision 1837738
greal 109519
grndtoi 6050958
ground 526146
gshift 2900991
gsubst 376605
gsubst_expr 25
gsubstpol 40
gsubstvec 165
gtocol 130
gtocol0 370
gtocolrev 0
gtocolrev0 180
gtopoly 41462
gtopolyrev 1657815
gtoser 260
gtovec 151195
gtovec0 151550
gtovecpost 240
gtovecpre 240
gtovecrev 0
gtovecrev0 180
gtovecsmall 1635
gtovecsmall0 390
gtovecsmallpost 60
gtovecsmallpre 60
gtrunc 1065
gtrunc2n 5513774
gvar 67858870
gvar2 14292499
gvar9 19905
hqfeval 0
imag_i 262170
init_qf_apply 102482
init_vectopre 175
integ 265
integ_act 10
integser 990
inv_ser 210
iscomplex 25
isinexact 93717399
isinexactreal 80130
isint 2230
isrationalzeroscalar 0
isrealappr 45030
issmall 2065
lift 63183
lift0 107803
lift_intern 51018
liftall 35
liftall_shallow 22120
liftint 45
liftint_shallow 95
liftpol 35
liftpol_shallow 1475
listdeflate 15
lookup 610
mkcoln 0
mkintn 0
mkpoln 662076
mkvecn 3365
mkvecsmalln 74937
mod_r 120
modr_safe 427972
modrs 10
modsf 25
modsr 25
mulreal 7611975
multi_coeff 49
numer 5971185
op_ReIm 279436
padic_to_Q 485
padic_to_Q_shallow 5
padicprec 95
padicprec_relative 425
polcoeff0 865
polcoeff_i 842
poldeflate 80
poldegree 3275
poleval 383266
pollead 1522
poltoser 335
prec0 11263
precCOMPLEX 1185648
precREAL 576190
precision 416235
precision0 990
precrealexact 107520
qf_apply_RgM 317
qf_apply_ZM 102165
qfbil 30
qfeval 15
qfevalb 15
qfnorm 40
quot 355
quotfi 5
quotfs 10
quotrem 185
quotri 10
quotrs 20
quotsf 25
quotsr 50
real_i 2240211
rfractoser 35
round0 1375
round_i 9921954
roundr 582677
roundr_safe 5917729
scalarpol 3290736
scalarpol_shallow 8441
scalarser 4585
ser2pol_i 198629
ser2rfrac 690
ser2rfrac_i 1200
ser_unscale 330
serdeflate 10
serreverse 40
simplify 7703482
simplify_shallow 184567739
swapvar_act 20
tayl 10
tayl_act 10
toser_i 448550
triv_integ 25
trunc0 155
uu32toi 50469
var2_aux 5040
var2_polmod 10
var2_rfrac 5030
vdeflate 45
vec_padicprec 15
vec_padicprec_relative 115
vecdenom 140

Generated by: LCOV version 1.9