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 20091-343fe20) Lines: 2075 2251 92.2 %
Date: 2017-01-20 05:50:06 Functions: 209 219 95.4 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Itos 2826197
QpV_to_QV 91
RgM_mulreal 0
RgX_cxeval 288067
RgX_deflate_max 13899
RgX_deflate_order 14011
RgX_degree 21826
RgX_integ 98
ZX_deflate_max 23508
ZX_deflate_order 40728
_egal 24384303
_egal_i 24384303
_gtopoly 2493701
_polcoeff 175742
_quot 602
_quotfi 7
_quotfs 77
_quotri 7
_quotrs 28
_quotsf 35
_quotsr 70
_rfraccoeff 21
_sercoeff 12621
bitprecision0 35
ceil_safe 63082
ceilr 3026
centerlift 13454
centerlift0 105
centerliftii 9408
coefstoser 7
compo 305
deg1pol 526886
deg1pol_shallow 1857466
degree 0
denom 9193786
deriv 104237
derivser 11116
diffop 3535
diffop0 42
diviiround 11500030
divrem 896
err_intformal 35
floor_safe 8463
gceil 16832
gcvtoi 82587
gdeflate 210
gdivent 6086318
gdiventgs 1443
gdiventres 23100
gdiventsg 6084462
gdivmod 0
gdivround 261870
gdvd 3913
geq 1223844
geval 0
geval_gp 10129
gfloor 4240983
gfrac 91
gge 124174
ggrando 4830
ggt 131614
gimag 2875
gle 7623929
glt 6215954
gmod 7692056
gmodgs 16546
gmodsg 7409390
gmodulo 887904
gmodulsg 758899
gmodulss 599076
gne 23160459
gnot 259910
gppadicprec 105
gppoldegree 5089
gprecision 2652458
gpserprec 28
greal 83610
grndtoi 9131476
ground 995520
gshift 40318146
gsubst 293615
gsubst_expr 35
gsubstpol 84
gsubstvec 756
gtocol 182
gtocol0 1197
gtocolrev 0
gtocolrev0 252
gtopoly 69272
gtopolyrev 2424429
gtoser 216524
gtovec 241143
gtovec0 242186
gtovecpost 1155
gtovecpre 343
gtovecrev 7
gtovecrev0 266
gtovecsmall 1728548
gtovecsmall0 9156
gtovecsmallpost 84
gtovecsmallpre 84
gtrunc 889
gtrunc2n 9610679
gvar 98042812
gvar2 19903822
gvar9 48062
hqfeval 0
imag_i 355162
init_qf_apply 145753
init_vectopre 245
integ 350
integ_act 14
integser 11669
iscomplex 21
isinexact 128637714
isinexactreal 14581
isint 26152
isrationalzeroscalar 0
isrealappr 78828
issmall 7518
lift 105190
lift0 178757
lift_shallow 183593
liftall 126
liftall_shallow 945
liftint 119
liftint_shallow 546
liftpol 98
liftpol_shallow 136017
listdeflate 21
lookup 833
mkcoln 0
mkintn 13377
mkpoln 2349865
mkvecn 37240
mkvecsmalln 2381
modRr_safe 519219
mod_r 168
modrs 14
modsf 35
modsr 35
mulreal 10991566
multi_coeff 29631
numer 8259082
op_ReIm 1225531
padic_to_Q 8274
padic_to_Q_shallow 21
padicprec 4172
padicprec_relative 2030
polcoeff0 59647
polcoeff_i 162946
poldeflate 112
poldegree 9884
poleval 752952
pollead 3530
poltoser 218211
prec0 9884
precCOMPLEX 2132616
precREAL 811572
precision 1361004
precision0 3276
precrealexact 328394
qf_apply_RgM 538
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 6940604
recvar 329
rfractoser 155897
round0 3633
round_i 14695576
roundr 2688053
roundr_safe 6833623
scalarpol 5018444
scalarpol_shallow 254619
scalarser 172837
ser2pol_i 3485965
ser2rfrac 259
ser2rfrac_i 3381
ser_inv 490
ser_unscale 616
serdeflate 35
serprec 56
serreverse 98
sertoser 273
simplify 10618133
simplify_shallow 311476830
swapvar_act 21
tayl 7
tayl_act 7
toser_i 700906
triv_integ 35
trunc0 217
uu32toi 233583
var2_aux 8561
var2_polmod 1526
var2_rfrac 7035
variables_vec 14
variables_vecsmall 7
vdeflate 63
vec_padicprec 826
vec_padicprec_relative 357
vec_serprec 14
vecdenom 742

Generated by: LCOV version 1.11