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 18603-5baf4f6) Lines: 1108 1148 96.5 %
Date: 2016-02-11 Functions: 69 69 100.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 926 1110 83.4 %

Function Name Sort by function name Hit count Sort by hit count
Zf_add 33519168
Zf_mul 1822080
Zf_mulsqrt2 33519168
Zf_red_destroy 65947797
Zf_shift 33811173
Zf_sqr 366720
Zf_sub 33802164
addiispec 1804237182
addshiftw 150476583
adduispec 890530020
adduispec_offset 211146861
addumului 543243
affir 99684213
catii 59422680
cmpiispec 2077034511
convi 232410
convi_dac 1052346
diviiexact 214045434
divis 245634
divis_rem 31670544
diviu_rem 97472742
diviuexact 8014698
diviuexact_i 15306114
diviuuexact 271668
divri 12953406
divrr 82126956
dvmdii 470005218
equaliispec 24113472
floorr 284700
incloop 18032940
incneg 4638
incpos 18021504
int_normalize 196993059
mantissa2nr 9099129
muliifft_dis 2184966
muliifft_dit 4003713
muliifft_spliti 7167
muliifft_unspliti 3834
muliispec 1316932671
muliispec_basecase 1257334485
muliispec_fft 3333
mulliifft_params 3834
muluispec 1223923566
muluui 288324
p_sqrtu1 14151189
p_sqrtu2 12901092
pari_kernel_close 558
pari_kernel_init 558
red_montgomery 6387750
remi2n 6441642
resetloop 109206
roundr_up_ip 125274404
setloop 1646244
shiftispec 336759609
sqrispec 476226876
sqrispec_basecase 473611842
sqrispec_fft 501
sqrtispec 42608352
sqrtispec1_sh 1250097
sqrtispec2 12897012
sqrtispec2_sh 4080
sqrtr_abs 12889107
sqrtremi 1262082
subiispec 1640445246
subiuspec 881290738
truncr 503565
umodiu 806517981
xmpn_copy 138076530
xmpn_zero 12889107

Generated by: LCOV version 1.9