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 19608-b7b365e) Lines: 2074 2292 90.5 %
Date: 2016-09-26 05:54:43 Functions: 209 219 95.4 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Itos 2946205
QpV_to_QV 91
RgM_mulreal 0
RgX_cxeval 285135
RgX_deflate_max 13905
RgX_deflate_order 14017
RgX_degree 21532
RgX_integ 98
ZX_deflate_max 21465
ZX_deflate_order 38258
_egal 24354874
_egal_i 24354874
_gtopoly 2493553
_polcoeff 174587
_quot 602
_quotfi 7
_quotfs 77
_quotri 7
_quotrs 28
_quotsf 35
_quotsr 70
_rfraccoeff 21
_sercoeff 12530
bitprecision0 35
ceil_safe 61871
ceilr 2781
centerlift 13454
centerlift0 105
centerliftii 9408
coefstoser 7
compo 305
deg1pol 523078
deg1pol_shallow 1802970
degree 0
denom 9168040
deriv 104195
derivser 10290
diffop 3535
diffop0 42
diviiround 12452108
divrem 896
err_intformal 35
floor_safe 8357
gceil 15222
gcvtoi 81270
gdeflate 210
gdivent 6086185
gdiventgs 1429
gdiventres 21525
gdiventsg 6084357
gdivmod 0
gdivround 496931
gdvd 3906
geq 1218250
geval 0
geval_gp 10129
gfloor 4229924
gfrac 91
gge 124174
ggrando 4669
ggt 132482
gimag 2525
gle 7623457
glt 6212160
gmod 7627053
gmodgs 16443
gmodsg 7406373
gmodulo 825463
gmodulsg 695071
gmodulss 600462
gne 23136624
gnot 259812
gppadicprec 105
gppoldegree 5089
gprecision 2680334
gpserprec 28
greal 81272
grndtoi 8604353
ground 993998
gshift 40887918
gsubst 224196
gsubst_expr 35
gsubstpol 84
gsubstvec 756
gtocol 182
gtocol0 1197
gtocolrev 0
gtocolrev0 252
gtopoly 69138
gtopolyrev 2424415
gtoser 212387
gtovec 245469
gtovec0 246512
gtovecpost 1148
gtovecpre 343
gtovecrev 7
gtovecrev0 266
gtovecsmall 1737424
gtovecsmall0 14322
gtovecsmallpost 84
gtovecsmallpre 84
gtrunc 882
gtrunc2n 10226761
gvar 97745907
gvar2 19904025
gvar9 48062
hqfeval 0
imag_i 352355
init_qf_apply 145712
init_vectopre 245
integ 350
integ_act 14
integser 10808
iscomplex 21
isinexact 128411846
isinexactreal 13244
isint 25151
isrationalzeroscalar 0
isrealappr 78981
issmall 7469
lift 102052
lift0 175913
lift_shallow 182927
liftall 126
liftall_shallow 945
liftint 119
liftint_shallow 546
liftpol 98
liftpol_shallow 135870
listdeflate 21
lookup 833
mkcoln 0
mkintn 14105
mkpoln 2353298
mkvecn 17122
mkvecsmalln 3872
mod_r 168
modr_safe 476770
modrs 14
modsf 35
modsr 35
mulreal 11032302
multi_coeff 29484
numer 8233371
op_ReIm 1199246
padic_to_Q 8274
padic_to_Q_shallow 21
padicprec 5971
padicprec_relative 2030
polcoeff0 59612
polcoeff_i 161546
poldeflate 112
poldegree 9429
poleval 684977
pollead 3411
poltoser 213731
prec0 9702
precCOMPLEX 2070576
precREAL 866355
precision 1356698
precision0 3276
precrealexact 326756
qf_apply_RgM 497
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 6781201
recvar 329
rfractoser 151956
round0 3626
round_i 14874003
roundr 2692967
roundr_safe 7274446
scalarpol 4808124
scalarpol_shallow 241109
scalarser 167216
ser2pol_i 3301945
ser2rfrac 252
ser2rfrac_i 3185
ser_inv 294
ser_unscale 616
serdeflate 35
serprec 56
serreverse 49
sertoser 273
simplify 10611273
simplify_shallow 311768815
swapvar_act 21
tayl 7
tayl_act 7
toser_i 698181
triv_integ 35
trunc0 217
uu32toi 233891
var2_aux 8561
var2_polmod 1526
var2_rfrac 7035
variables_vec 14
variables_vecsmall 7
vdeflate 63
vec_padicprec 1281
vec_padicprec_relative 357
vec_serprec 14
vecdenom 742

Generated by: LCOV version 1.11