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 19825-b77c7f8) Lines: 1106 1148 96.3 %
Date: 2016-12-06 05:49:02 Functions: 69 69 100.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Zf_add 10051008
Zf_mul 769152
Zf_mulsqrt2 10051008
Zf_red_destroy 19798509
Zf_shift 10278894
Zf_sqr 157056
Zf_sub 10209636
addiispec 1683976268
addshiftw 102783729
adduispec 834130372
adduispec_offset 211825614
addumului 428220
affir 76183617
catii 66203766
cmpiispec 1873781624
convi 239902
convi_dac 1071579
diviiexact 171202447
divis 350229
divis_rem 22099422
diviu_rem 104245122
diviuexact 19664298
diviuexact_i 15786150
diviuuexact 395091
divri 13334976
divrr 63684375
dvmdii 540693066
equaliispec 41103737
floorr 325704
incloop 19104489
incneg 4638
incpos 19084320
int_normalize 189174705
mantissa2nr 8409753
muliifft_dis 920910
muliifft_dit 1685748
muliifft_spliti 9612
muliifft_unspliti 5298
muliispec 1526683427
muliispec_basecase 1494757571
muliispec_fft 4314
mulliifft_params 5298
muluispec 1439865980
muluui 411747
p_sqrtu1 17022768
p_sqrtu2 15123123
pari_kernel_close 573
pari_kernel_init 574
red_montgomery 6833880
remi2n 5993247
resetloop 117531
roundr_up_ip 206502668
setloop 1809246
shiftispec 329684822
sqrispec 515965566
sqrispec_basecase 512423988
sqrispec_fft 984
sqrtispec 48180831
sqrtispec1_sh 1899645
sqrtispec2 15078948
sqrtispec2_sh 44175
sqrtr_abs 15037893
sqrtremi 1984875
subiispec 1358473504
subiuspec 672601319
truncr 1102605
umodiu 906841905
xmpn_copy 154811331
xmpn_zero 15037893

Generated by: LCOV version 1.11