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 - kernel/none - mp.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.0 lcov report (development 20422-b487f4d) Lines: 1105 1148 96.3 %
Date: 2017-03-22 05:51:54 Functions: 69 69 100.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Zf_add 10080960
Zf_mul 772224
Zf_mulsqrt2 10080960
Zf_red_destroy 19793871
Zf_shift 10276416
Zf_sqr 157056
Zf_sub 10238568
addiispec 1716482733
addshiftw 103166880
adduispec 859708356
adduispec_offset 212140551
addumului 428226
affir 79637301
catii 65228298
cmpiispec 1840861188
convi 244048
convi_dac 1001823
diviiexact 174109289
divis 198801
divis_rem 18367233
diviu_rem 118984986
diviuexact 19921710
diviuexact_i 14707023
diviuuexact 408591
divri 12810582
divrr 63768504
dvmdii 535491824
equaliispec 41130680
floorr 330957
incloop 19364181
incneg 4641
incpos 19331772
int_normalize 187939287
mantissa2nr 8419623
muliifft_dis 923952
muliifft_dit 1691832
muliifft_spliti 9672
muliifft_unspliti 5328
muliispec 1673308291
muliispec_basecase 1640922553
muliispec_fft 4344
mulliifft_params 5328
muluispec 1548510280
muluui 425247
p_sqrtu1 17455630
p_sqrtu2 15515265
pari_kernel_close 606
pari_kernel_init 607
red_montgomery 7114206
remi2n 6041313
resetloop 127959
roundr_up_ip 207246698
setloop 1833957
shiftispec 323031887
sqrispec 540623046
sqrispec_basecase 537077103
sqrispec_fft 984
sqrtispec 47838948
sqrtispec1_sh 1940365
sqrtispec2 15224799
sqrtispec2_sh 290466
sqrtr_abs 15179967
sqrtremi 2275663
subiispec 1338163395
subiuspec 646728540
truncr 1094109
umodiu 912408937
xmpn_copy 152897073
xmpn_zero 15179967

Generated by: LCOV version 1.11