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 to exceed 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.12.0 lcov report (development 23353-42c433a02) Lines: 2070 2235 92.6 %
Date: 2018-12-15 05:41:59 Functions: 209 219 95.4 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
RgM_mulreal 0
gdivmod 0
geval 0
gtocolrev 0
gtovecrev 0
hqfeval 0
iscomplex 0
isrationalzeroscalar 0
qfbil 0
qfnorm 0
_quotfi 7
_quotri 7
qfb_apply_ZM 7
qfbevalb 7
quotfi 7
quotri 7
tayl 7
tayl_act 7
integ_act 14
modrs 14
quotrs 14
vec_serprec 14
vecdenompol 14
_rfraccoef 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
modsf 35
modsr 35
quotsf 35
quotsr 35
serdeflate 35
triv_integ 35
diffop0 42
qfeval 49
serprec 56
vdeflate 63
_quotsr 70
_quotfs 77
quotfs 77
gtovecsmallpost 84
gtovecsmallpre 84
gfrac 91
serreverse 98
gppadicprec 105
denompol 112
centerlift0 119
liftint 119
mod_r 168
gtocol 182
QpV_to_QV 189
trunc0 217
gtocolrev0 252
gtovecrev0 259
denominator_v 280
compo 312
integ 350
vec_padicprec_relative 357
ser2rfrac 441
qf_apply_RgM 447
content0 497
liftint_shallow 546
ser_inv 651
gsubstpol 686
poldeflate 714
gdeflate 812
vec_padicprec 826
lookup 833
quotrem 847
variables_vecsmall 854
divrem 896
gsubstvec 938
gtovecpost 1036
quot 1057
_quot 1106
gtrunc 1204
mkcoln 1372
padicprec_relative 2079
gimag 2366
init_vectopre 2618
gtovecpre 2716
gtocol0 2793
var2_polmod 2954
ceilr 3067
ser_unscale 3528
diffop 3535
round0 3976
gdvd 4086
padicprec 4172
liftpol 4634
greal 5180
ggrando 5376
degree 6202
gppoldegree 6734
var2_rfrac 7035
isinexactreal 7070
gdiventgs 7162
gtovecsmall0 7525
issmall 7581
vecdenom 8064
numer 8610
padic_to_Q 8792
numerator 8890
centerliftii 9744
pollead 9753
ser2rfrac_i 9786
var2_aux 9989
floor_safe 10508
geval_gp 10766
denom 11417
denominator 11697
serequalXk 11830
_sercoef 12516
centerlift 13993
RgX_integ 14294
mkintn 14469
gceil 17257
derivser 18641
integser 18942
recvar 21042
liftall 26194
RgX_degree 34069
poldegree 35919
mkvecsmalln 39550
RgX_deflate_max 45678
gdiventres 45941
RgX_deflate_order 46329
ZX_deflate_max 52958
gvar9 61670
uu32toineg 71303
gtopoly 73964
ZX_deflate_order 88392
gtovec 101157
gtovec0 104706
isint 109998
deriv 119315
deg2pol_shallow 125215
gge 136221
ggt 140378
qf_apply_ZM 146545
init_qf_apply 146992
isrealappr 147995
ceil_safe 174398
gcvtoi 195969
uu32toi 222702
deg1pol 315912
mkvecn 329714
qfbeval 348824
qfnorm0 348915
qfeval0 348971
gdivround 383446
RgX_cxeval 424797
scalarpol_shallow 427838
gnot 459711
lift 488119
lift_shallow 497445
precrealexact 512441
polcoef 634585
lift0 652553
gmodulss 658917
gmodulsg 856036
imag_i 906450
prec0 1012795
modRr_safe 1016859
_polcoef 1091013
polcoef_i 1160061
gmodulo 1207143
ground 1450363
op_ReIm 1546027
liftall_shallow 1693657
geq 1886882
gtovecsmall 2084246
gtopolyrev 2433424
_gtopoly 2507388
gsubst 2726920
poleval 2748061
mkpoln 2956937
deg1pol_shallow 3191270
Itos 3328349
roundr 4192653
ser2pol_i 4484421
gprecision 5034850
gfloor 5218880
glt 6097481
gdiventsg 6168469
gdivent 6170381
precCOMPLEX 6337276
gle 7628168
gmodsg 7665029
real_i 8734712
gmod 8912455
numer_i 8926685
roundr_safe 9357363
denom_i 9881094
simplify 10710400
mulreal 11089957
grndtoi 11644171
diviiround 11887159
liftpol_shallow 14079287
gtrunc2n 15754484
scalarpol 17292162
round_i 20259330
gvar2 20624204
gmodgs 21947148
gshift 39562061
precREAL 52985434
precision 55102090
gne 59550211
_egal 61437093
_egal_i 61437093
gvar 120033887
isinexact 131070868
simplify_shallow 404368696

Generated by: LCOV version 1.13