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 21188-db834f2) Lines: 2109 2281 92.5 %
Date: 2017-10-20 06:23:07 Functions: 212 221 95.9 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Itos 3174797
QpV_to_QV 91
RgM_mulreal 0
RgX_cxeval 354075
RgX_deflate_max 33439
RgX_deflate_order 34090
RgX_degree 34160
RgX_integ 14084
ZX_deflate_max 42374
ZX_deflate_order 73272
_egal 53472358
_egal_i 53472358
_gtopoly 2501828
_polcoeff 200116
_quot 602
_quotfi 7
_quotfs 77
_quotri 7
_quotrs 28
_quotsf 35
_quotsr 70
_rfraccoeff 21
_sercoeff 11480
bitprecision0 567
ceil_safe 64901
ceilr 2921
centerlift 13664
centerlift0 112
centerliftii 9471
coefstoser 7
compo 320
deg1pol 540747
deg1pol_shallow 2078296
deg2pol_shallow 11307
degree 0
denom 9680960
deriv 109438
derivser 11865
diffop 3535
diffop0 42
diviiround 11207007
divrem 896
err_intformal 35
floor_safe 14594
gceil 16746
gcvtoi 90537
gdeflate 812
gdivent 6086871
gdiventgs 1520
gdiventres 26250
gdiventsg 6085015
gdivmod 0
gdivround 317002
gdvd 3955
geq 1773956
geval 0
geval_gp 10129
gfloor 4369316
gfrac 91
gge 127910
ggrando 4998
ggt 133165
gimag 2847
gle 7623366
glt 6091550
gmod 8069976
gmodgs 1048932
gmodsg 7363077
gmodulo 1395852
gmodulsg 887675
gmodulss 655467
gne 51698402
gnot 313635
gppadicprec 105
gppoldegree 6384
gprecision 3149123
gpserprec 28
greal 83974
grndtoi 9411553
ground 1182196
gshift 38530319
gsubst 1650468
gsubst_expr 35
gsubstpol 686
gsubstvec 938
gtocol 182
gtocol0 1631
gtocolrev 0
gtocolrev0 252
gtopoly 70392
gtopolyrev 2431436
gtoser 1512
gtovec 241150
gtovec0 242753
gtovecpost 1155
gtovecpre 903
gtovecrev 7
gtovecrev0 266
gtovecsmall 1974087
gtovecsmall0 7308
gtovecsmallpost 84
gtovecsmallpre 84
gtrunc 1148
gtrunc2n 13131550
gvar 105878062
gvar2 20473081
gvar9 53228
hqfeval 0
imag_i 372269
init_qf_apply 145683
init_vectopre 805
integ 350
integ_act 14
integser 12362
iscomplex 21
isinexact 129679881
isinexactreal 1580376
isint 27307
isrationalzeroscalar 0
isrealappr 123273
issmall 7518
lift 671218
lift0 819707
lift_shallow 3708135
liftall 273
liftall_shallow 2604
liftint 119
liftint_shallow 546
liftpol 4627
liftpol_shallow 5600443
listdeflate 21
lookup 833
mkcoln 1330
mkintn 13923
mkpoln 2676374
mkvecn 247856
mkvecsmalln 19944
modRr_safe 578092
mod_r 168
modrs 14
modsf 35
modsr 35
mulreal 11047463
multi_coeff 49427
numer 8742420
op_ReIm 1272952
padic_to_Q 8498
padic_to_Q_shallow 21
padicprec 4172
padicprec_relative 2030
polcoeff0 15638
polcoeff_i 250467
poldeflate 714
poldegree 23821
poleval 1918912
pollead 7464
poltoser 98
prec0 431284
precCOMPLEX 4133767
precREAL 25911953
precision 27608558
precision0 3248
precrealexact 510428
qf_apply_RgM 447
qf_apply_ZM 145236
qfb_apply_ZM 7
qfbeval 14
qfbevalb 7
qfbil 0
qfeval 49
qfeval0 161
qfevalb 21
qfnorm 0
qfnorm0 105
quot 553
quotfi 7
quotfs 77
quotrem 343
quotri 7
quotrs 14
quotsf 35
quotsr 35
real_i 7124696
recvar 525
rfractoser 42
round0 3703
round_i 15888343
roundr 3947263
roundr_safe 7206582
scalarpol 6454847
scalarpol_shallow 329065
scalarser 16268
ser2pol_i 3361200
ser2rfrac 392
ser2rfrac_i 4200
ser_inv 728
ser_unscale 1666
serdeflate 35
serequalXk 9142
serprec 56
serreverse 98
sertoser 273
simplify 10671924
simplify_shallow 387882324
swapvar_act 21
tayl 7
tayl_act 7
toser_i 514736
triv_integ 35
trunc0 217
uu32toi 253939
var2_aux 8946
var2_polmod 1911
var2_rfrac 7035
variables_vec 21
variables_vecsmall 21
vdeflate 63
vec_padicprec 826
vec_padicprec_relative 357
vec_serprec 14
vecdenom 819

Generated by: LCOV version 1.11