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 20916-a74d914) Lines: 1105 1148 96.3 %
Date: 2017-08-18 06:23:59 Functions: 69 69 100.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Zf_add 19575552
Zf_mul 1374720
Zf_mulsqrt2 19575552
Zf_red_destroy 39537897
Zf_shift 20439099
Zf_sqr 163584
Zf_sub 19856292
addiispec 1827279590
addshiftw 121962624
adduispec 987120412
adduispec_offset 219400038
addumului 428301
affir 82643160
catii 67704456
cmpiispec 1961093477
convi 256499
convi_dac 1010067
diviiexact 248660796
divis 238761
divis_rem 209915139
diviu_rem 142243884
diviuexact 25688559
diviuexact_i 18487869
diviuuexact 423375
divri 13070256
divrr 65893092
dvmdii 626241889
equaliispec 97704937
floorr 358806
incloop 19546632
incneg 4641
incpos 19514223
int_normalize 206387373
mantissa2nr 9302331
muliifft_dis 1531905
muliifft_dit 2901255
muliifft_spliti 11769
muliifft_unspliti 6399
muliispec 1923264786
muliispec_basecase 1881986547
muliispec_fft 5370
mulliifft_params 6399
muluispec 1865334664
muluui 440031
p_sqrtu1 18582783
p_sqrtu2 16356798
pari_kernel_close 618
pari_kernel_init 619
red_montgomery 24138801
remi2n 6327144
resetloop 127959
roundr_up_ip 227527835
setloop 1851678
shiftispec 371745306
sqrispec 645293865
sqrispec_basecase 641760228
sqrispec_fft 1029
sqrtispec 49917225
sqrtispec1_sh 2225985
sqrtispec2 16064997
sqrtispec2_sh 291801
sqrtr_abs 15999927
sqrtremi 2582856
subiispec 1426175704
subiuspec 741663126
truncr 1229259
umodiu 991935323
xmpn_copy 159028002
xmpn_zero 15999927

Generated by: LCOV version 1.11