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 21353-12523aa) Lines: 2116 2281 92.8 %
Date: 2017-11-24 06:20:58 Functions: 212 221 95.9 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
RgM_mulreal 0
degree 0
gdivmod 0
geval 0
gtocolrev 0
hqfeval 0
isrationalzeroscalar 0
qfbil 0
qfnorm 0
_quotfi 7
_quotri 7
coefstoser 7
gtovecrev 7
qfb_apply_ZM 7
qfbevalb 7
quotfi 7
quotri 7
tayl 7
tayl_act 7
integ_act 14
modrs 14
qfbeval 14
quotrs 14
vec_serprec 14
_rfraccoeff 21
iscomplex 21
listdeflate 21
padic_to_Q_shallow 21
qfevalb 21
swapvar_act 21
variables_vec 21
_quotrs 28
gpserprec 28
_quotsf 35
err_intformal 35
gsubst_expr 35
modsf 35
modsr 35
quotsf 35
quotsr 35
serdeflate 35
triv_integ 35
diffop0 42
rfractoser 42
qfeval 49
serprec 56
vdeflate 63
_quotsr 70
_quotfs 77
quotfs 77
gtovecsmallpost 84
gtovecsmallpre 84
QpV_to_QV 91
gfrac 91
poltoser 98
serreverse 98
gppadicprec 105
qfnorm0 105
centerlift0 112
liftint 119
qfeval0 161
mod_r 168
gtocol 182
trunc0 217
gtocolrev0 252
gtovecrev0 266
liftall 273
sertoser 273
compo 320
integ 350
vec_padicprec_relative 357
ser2rfrac 392
variables_vecsmall 434
qf_apply_RgM 447
liftint_shallow 546
bitprecision0 567
gtoser 665
gsubstpol 686
poldeflate 714
ser_inv 728
quotrem 735
gdeflate 812
vecdenom 819
vec_padicprec 826
lookup 833
divrem 896
gsubstvec 938
quot 945
_quot 994
gtrunc 1148
gtovecpost 1155
mkcoln 1330
gdiventgs 1527
var2_polmod 1974
padicprec_relative 2030
init_vectopre 2184
gtovecpre 2282
liftall_shallow 2604
ser_unscale 2646
gtocol0 2863
gimag 2868
ceilr 2900
precision0 3311
diffop 3535
round0 3787
gdvd 3955
padicprec 4172
liftpol 4634
ggrando 5033
ser2rfrac_i 5096
pollead 6190
gppoldegree 6384
var2_rfrac 7035
gtovecsmall0 7322
issmall 7518
padic_to_Q 8617
var2_aux 9009
serequalXk 9338
centerliftii 9471
geval_gp 10129
deg2pol_shallow 11307
_sercoeff 11788
derivser 12040
integser 12537
centerlift 13664
mkintn 13923
RgX_integ 14084
floor_safe 14349
polcoeff0 15470
scalarser 16422
gceil 16809
recvar 17381
poldegree 23352
gdiventres 26698
isint 27671
mkvecsmalln 28211
RgX_degree 34132
RgX_deflate_max 34426
RgX_deflate_order 35077
ZX_deflate_max 41464
multi_coeff 49413
gvar9 53508
gtopoly 70574
ZX_deflate_order 72936
greal 83932
deriv 109438
isrealappr 124029
ggt 133228
gge 135303
qf_apply_ZM 145236
init_qf_apply 145683
ceil_safe 164449
gcvtoi 189840
_polcoeff 200060
lift 239465
gtovec 241150
gtovec0 244132
mkvecn 249802
polcoeff_i 250593
uu32toi 257441
gnot 315903
gdivround 317282
scalarpol_shallow 333860
RgX_cxeval 354089
lift0 406518
imag_i 419519
lift_shallow 445834
precrealexact 510498
toser_i 515458
deg1pol 540495
modRr_safe 575368
gmodulss 655866
gmodulsg 832086
prec0 912280
gmodgs 1048932
gmodulo 1061450
ground 1173992
op_ReIm 1291216
isinexactreal 1580376
geq 1776008
gtovecsmall 1977657
deg1pol_shallow 2204467
gtopolyrev 2435762
_gtopoly 2506336
mkpoln 2697125
gsubst 2702631
poleval 2929026
gprecision 3140107
Itos 3183652
ser2pol_i 3422289
roundr 3943020
precCOMPLEX 4149203
gfloor 4371403
scalarpol 5274740
gdiventsg 6085099
gdivent 6086955
glt 6091585
real_i 7181031
gmodsg 7362923
roundr_safe 7476129
gle 7623366
gmod 7861589
numer 8742448
grndtoi 9371630
denom 9680988
liftpol_shallow 9976567
simplify 10684265
mulreal 11047995
diviiround 11199717
gtrunc2n 13189636
round_i 16131679
gvar2 20473221
gshift 38653544
precREAL 39924654
precision 41641439
gne 51699396
_egal 53475404
_egal_i 53475404
gvar 110261113
isinexact 129681196
simplify_shallow 388541222

Generated by: LCOV version 1.11