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-bordeaux1.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.8.0 lcov report (development 16624-25b9976) Lines: 1085 1123 96.6 %
Date: 2014-06-24 Functions: 69 69 100.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 977 1121 87.2 %

Function Name Sort by function name Hit count Sort by hit count
Zf_add 5954496
Zf_mul 446592
Zf_mulsqrt2 5954496
Zf_red_destroy 10683852
Zf_shift 5615742
Zf_sqr 83712
Zf_sub 6093231
addiispec 1143528975
addshiftw 66042984
adduispec 748033287
adduispec_offset 183943623
addumului 542112
affir 87487884
catii 47697462
cmpiispec 1266558147
convi 263318
convi_dac 1235736
diviiexact 170704404
divis 18288
divis_rem 29390763
diviu_rem 57574689
diviuexact 3519057
diviuexact_i 10871694
diviuuexact 39897
divri 11740368
divrr 63196134
dvmdii 399717303
equaliispec 17703480
floorr 562236
incloop 10412706
incneg 4056
incpos 10402080
int_normalize 147695829
mantissa2nr 8996109
muliifft_dis 527772
muliifft_dit 972147
muliifft_spliti 4749
muliifft_unspliti 2532
muliispec 1053670302
muliispec_basecase 1033359081
muliispec_fft 2217
mulliifft_params 2532
muluispec 1023447018
muluui 56553
p_sqrtu1 10388421
p_sqrtu2 9344742
pari_kernel_close 495
pari_kernel_init 495
red_montgomery 5940330
remi2n 231621
resetloop 109113
roundr_up_ip 82837536
setloop 1098564
shiftispec 211231197
sqrispec 455581203
sqrispec_basecase 454261740
sqrispec_fft 315
sqrtispec 33190476
sqrtispec1_sh 1043679
sqrtispec2 9341745
sqrtispec2_sh 2997
sqrtr_abs 9334203
sqrtremi 1054218
subiispec 1092235593
subiuspec 752990016
truncr 459669
umodiu 341697051
xmpn_copy 109515483
xmpn_zero 9334203

Generated by: LCOV version 1.9