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 20459-9710128) Lines: 1105 1148 96.3 %
Date: 2017-04-29 05:33:44 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 1716490059
addshiftw 103169403
adduispec 859716386
adduispec_offset 212140572
addumului 428226
affir 79640706
catii 65233344
cmpiispec 1840851798
convi 244200
convi_dac 1003215
diviiexact 174108056
divis 198801
divis_rem 18366459
diviu_rem 118985595
diviuexact 19921488
diviuexact_i 14706969
diviuuexact 408591
divri 12810582
divrr 63772284
dvmdii 535469235
equaliispec 41130263
floorr 330957
incloop 19364181
incneg 4641
incpos 19331772
int_normalize 187944351
mantissa2nr 8424195
muliifft_dis 923952
muliifft_dit 1691832
muliifft_spliti 9672
muliifft_unspliti 5328
muliispec 1673304704
muliispec_basecase 1640918966
muliispec_fft 4344
mulliifft_params 5328
muluispec 1548501222
muluui 425247
p_sqrtu1 17457541
p_sqrtu2 15517173
pari_kernel_close 606
pari_kernel_init 607
red_montgomery 7114206
remi2n 6041484
resetloop 127959
roundr_up_ip 207250451
setloop 1833957
shiftispec 323066695
sqrispec 540647373
sqrispec_basecase 537101430
sqrispec_fft 984
sqrtispec 47843379
sqrtispec1_sh 1940368
sqrtispec2 15226707
sqrtispec2_sh 290466
sqrtr_abs 15181875
sqrtremi 2275666
subiispec 1338166179
subiuspec 646728488
truncr 1094109
umodiu 912369400
xmpn_copy 152910468
xmpn_zero 15181875

Generated by: LCOV version 1.11