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 to exceed 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.14.0 lcov report (development 27775-aca467eab2) Lines: 1127 1153 97.7 %
Date: 2022-07-03 07:33:15 Functions: 70 70 100.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
pari_kernel_version 2
pari_kernel_close 744
pari_kernel_init 746
sqrispec_fft 2238
incneg 25341
muliispec_fft 64422
muliifft_unspliti 66660
mulliifft_params 66660
resetloop 128238
muliifft_spliti 131082
diviuuexact 147606
muluui 164274
convi 301717
Zf_sqr 502272
addumului 593139
sqrtispec2_sh 633489
divis 673395
convi_dac 708123
sqrtispec1_sh 1677798
truncr 2013525
floorr 2140500
setloop 2238555
sqrtremi 2888292
Zf_mul 10738944
muliifft_dis 11174556
remi2n 20073624
diviuexact 20212608
muliifft_dit 21849078
red_montgomery 28600125
incpos 31581591
incloop 31855971
diviuexact_i 33727158
mantissa2nr 38024463
sqrtr_abs 65613897
xmpn_zero 65613897
divis_rem 65848755
sqrtispec2 66190359
p_sqrtu2 66823848
p_sqrtu1 68501646
divri 87477999
divrr 89044317
Zf_add 130714752
Zf_mulsqrt2 130714752
Zf_sub 132013626
Zf_shift 141363351
equaliispec 185145069
sqrtispec 250662279
adduispec_offset 254067894
Zf_red_destroy 274031733
affir 293568336
diviiexact 297664974
absdiviu_rem 310968267
roundr_up_ip 324426929
catii 368943840
addshiftw 503904381
int_normalize 642422067
sqrispec_basecase 790845501
sqrispec 796741095
xmpn_copy 833717895
shiftispec 1008130650
dvmdii 1153993635
umodiu 1277764161
subiuspec 1402318674
adduispec 1601327511
subiispec 3175507209
muluispec 3457073952
addiispec 3668025138
muliispec_basecase 3752333991
cmpiispec 3880253307
muliispec 3907648290

Generated by: LCOV version 1.13