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 16804-345a01c) Lines: 1108 1148 96.5 %
Date: 2014-09-20 Functions: 69 69 100.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 924 1110 83.2 %

Function Name Sort by function name Hit count Sort by hit count
Zf_add 7386816
Zf_mul 531840
Zf_mulsqrt2 7386816
Zf_red_destroy 13606902
Zf_shift 7115070
Zf_sqr 94848
Zf_sub 7558317
addiispec 1114200207
addshiftw 63371271
adduispec 723035526
adduispec_offset 188736639
addumului 542115
affir 75027102
catii 38968950
cmpiispec 1188616551
convi 261993
convi_dac 1224321
diviiexact 162665229
divis 18171
divis_rem 26543772
diviu_rem 76098903
diviuexact 3506385
diviuexact_i 10696113
diviuuexact 39897
divri 10745022
divrr 57312873
dvmdii 369524325
equaliispec 17038905
floorr 281964
incloop 10412739
incneg 4056
incpos 10402110
int_normalize 141384045
mantissa2nr 7303791
muliifft_dis 624045
muliifft_dit 1153578
muliifft_spliti 4950
muliifft_unspliti 2643
muliispec 947005929
muliispec_basecase 925890840
muliispec_fft 2307
mulliifft_params 2643
muluispec 881054976
muluui 56553
p_sqrtu1 9017697
p_sqrtu2 7980957
pari_kernel_close 498
pari_kernel_init 498
red_montgomery 6212115
remi2n 5145033
resetloop 109113
roundr_up_ip 69435836
setloop 1098570
shiftispec 209150919
sqrispec 447247686
sqrispec_basecase 445879704
sqrispec_fft 336
sqrtispec 27462429
sqrtispec1_sh 1036740
sqrtispec2 7977954
sqrtispec2_sh 3003
sqrtr_abs 7970415
sqrtremi 1047282
subiispec 1033252248
subiuspec 702360540
truncr 290139
umodiu 555630366
xmpn_copy 90034626
xmpn_zero 7970415

Generated by: LCOV version 1.9