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 - kernel/none - level1.h (source / functions) Hit Total Coverage
Test: PARI/GP v2.12.0 lcov report (development 23499-f2b23893a) Lines: 559 728 76.8 %
Date: 2019-01-22 05:42:35 Functions: 203 270 75.2 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Mod64 0
addiiz 0
addirz 0
addriz 0
addsiz 0
addsrz 0
addssz 0
affectsign 0
affsz 0
divirz 0
divisz 0
divriz 0
divrsz 0
divsi_rem 0
divsiz 0
divsrz 0
divss 0
divss_rem 0
divssz 0
dvdisz 0
dvdiuz 0
dvmdiiz 0
dvmdis 0
dvmdisz 0
dvmdsi 0
dvmdsiz 0
dvmdss 0
dvmdssz 0
mod64 0
modisz 0
modsiz 0
modssz 0
mpaddz 0
mpceil 0
mpfloor 0
mpmulz 0
mpsubz 0
muliiz 0
mulirz 0
mulriz 0
mulrrz 0
mulsiz 0
mulsrz 0
mulssz 0
rdiviiz 0
rdivis 0
rdivsi 0
real_m2n 0
remiiz 0
remis 0
remisz 0
remsi 0
remsiz 0
remss 0
remssz 0
sdivss_rem 0
shiftl 0
shiftlr 0
subiiz 0
subirz 0
subisz 0
subriz 0
subrsz 0
subsiz 0
subsrz 0
subssz 0
varnmin 0
diviiz 14
mptrunc 21
dvdsi 84
sdivsi 140
dvdui 147
real_m1 147
varnmax 196
mod32 259
mpcopy 294
divrrz 412
cmpiu 1484
cmpui 1484
subis 1653
dvdiu 2303
cgetr_block 3046
dvdiiz 3985
truedivis 4565
ugcdui 4792
dvdis 5663
uabsdivui_rem 10591
equaliu 24398
equalui 24398
addss 25046
subss 25046
subuu 25046
cmprs 38822
ugcdiu 42989
stack_calloc 43074
cmpsr 87912
gmin_shallow 91662
uutoineg 91746
real2n 120835
affiz 139758
cgetg_block 152162
mpdiv 153596
mpaff 166118
Mod32 166810
equalis 168381
equalsi 168598
ceildivuu 183152
Fl_ellj_pre 189152
addri 212992
Mod16 216692
mpexpo 253297
mod16 311962
absrnz_equal2n 312015
cmpri 364802
affsi 453212
mpcmp 552647
real_1_bit 603642
cmpir 615083
modss 658924
absrnz_equal1 773044
rdivss 839647
stack_malloc_align 1242851
umodui 1262671
subrrz 1295880
mpround 1301602
addrrz 1306252
negr 1501537
subri 1523463
mindd 1647992
Mod2 1824732
evalprecp 1948334
Mod8 2042810
Mod4 2063908
umuluu_le 2753794
mulru 3042090
minuu 3214000
addrs 3339605
maxdd 3559354
subrs 3596851
cmpis 4331630
cmpsi 4340180
itou_or_0 4600353
fractor 4802427
rdivii 4919687
umuluu_or_0 5069648
affectsign_safe 5421772
stack_malloc 5424931
remlll_pre 5439672
truedivsi 6168049
dvdii 6243135
umodi2n 6315022
subsi 6618542
modsi 7747380
divii 7751933
affui 8404752
affur 8794888
utor 8794888
Fl_div 9521663
gmax_shallow 9663915
mpabs_shallow 9668812
mulrs 10023515
mpsqr 11181910
int_bit 11540779
umodsu 11549802
mod4 11767944
Fl_center 12078979
uabsdiviu_rem 12480475
maxuu 12950619
itos_or_0 13836097
sdivsi_rem 13915673
Fl_halve 14083374
evalvalp 16636569
mpshift 17751011
affrr_fixlg 19445152
modis 19590254
smodis 19629874
mpsub 20966579
mulri 21267627
mod2 24300862
truedivii 24937288
abscmpiu 30843468
abscmpui 30902942
subiu 31189919
absr 32004251
absi_shallow 32015893
real_0 33128303
icopyspec 33332656
absequaliu 33918058
absequalui 34024713
subui 34461582
mpodd 38980160
real_1 40631666
Fl_addmulmul_pre 47705452
mod8 48348885
mpadd 55403246
togglesign_safe 57256699
addis 62181626
fixlg 62486289
vali 65770156
Fl_sqr 66349350
addiu 67083223
shiftr 67133149
addui 67760905
affii 71151795
udivuu_rem 71155234
mpmul 71267541
Fl_neg 71931959
Fl_triple 72594713
addsi 74552345
itou 76047313
subir 83337991
shiftr_inplace 91071157
mod2BIL 97045446
rtor 101422496
real_0_bit 131128097
mulis 144212761
dvmduBIL 145039837
addir 149685765
varncmp 157207538
stor 184879509
affsr 184950531
itor 208764424
utoineg 211631717
cgetineg 211816826
negi 259406437
rcopy 272428982
absi 274930269
smodss 316593809
mpabs 318988709
itos 331273656
setabssign 359512842
stoi 367645440
mpneg 369379720
Fl_double 377300998
expu 391826449
cgetg_copy 525933890
muliu 605875014
expi 630336268
minss 797244052
togglesign 805491847
Fl_mul 877752981
addrr 932442034
subrr 951722228
remii 1252678517
leafcopy 1528571462
Fl_sqr_pre 1683329849
stackdummy 1768335570
adduu 1850945167
Fl_add 2136797681
Fl_mul_pre 2557127368
shift_right 2754910867
maxss 3015871503
dvmdsBIL 3145725540
shift_left 3234684770
subii 4012666898
Fl_sub 4493138054
icopy 4686090630
uutoi 4688501004
Fl_addmul_pre 4808333480
addii 4872330014
cgetg 5878501315
evalexpo 6317405392
utoi 6430736770
cgetr 6577257618
utoipos 7789685048
cgetipos 8826497814
cgeti 14240049503
new_chunk 42792971248
evallg 45261004715
set_avma 58718619572

Generated by: LCOV version 1.13