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 22303-eb3e11d) Lines: 1113 1148 97.0 %
Date: 2018-04-21 06:16:28 Functions: 69 69 100.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Zf_add 24274752
Zf_mul 1865088
Zf_mulsqrt2 24274752
Zf_red_destroy 50408748
Zf_shift 26046192
Zf_sqr 268416
Zf_sub 24629004
addiispec 1720394932
addshiftw 127025535
adduispec 859461401
adduispec_offset 139588290
addumului 534957
affir 90025890
catii 69400224
cmpiispec 1664133508
convi 262321
convi_dac 921123
diviiexact 200782726
divis 304212
divis_rem 30602217
diviu_rem 105428025
diviuexact 24375870
diviuexact_i 15495777
diviuuexact 414846
divri 14205507
divrr 69177306
dvmdii 514475979
equaliispec 83746466
floorr 375312
incloop 20363046
incneg 4701
incpos 20109630
int_normalize 155203857
mantissa2nr 10210203
muliifft_dis 2121690
muliifft_dit 3976143
muliifft_spliti 22449
muliifft_unspliti 11814
muliispec 1816550479
muliispec_basecase 1773420550
muliispec_fft 10635
mulliifft_params 11814
muluispec 1696923764
muluui 431502
p_sqrtu1 19462159
p_sqrtu2 17204610
pari_kernel_close 648
pari_kernel_init 650
red_montgomery 22682484
remi2n 6735360
resetloop 127959
roundr_up_ip 237747578
setloop 2172021
shiftispec 386045931
sqrispec 579252723
sqrispec_basecase 575516940
sqrispec_fft 1179
sqrtispec 51570036
sqrtispec1_sh 2257549
sqrtispec2 16869924
sqrtispec2_sh 334686
sqrtr_abs 16817073
sqrtremi 2645089
subiispec 1288437755
subiuspec 666281496
truncr 1292841
umodiu 958597270
xmpn_copy 163645374
xmpn_zero 16817073

Generated by: LCOV version 1.11