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/gmp - mp.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.12.0 lcov report (development 23339-b1c33c51a) Lines: 648 717 90.4 %
Date: 2018-12-11 05:41:34 Functions: 54 55 98.2 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
pari_gmp_realloc 0
pari_kernel_close 892
pari_kernel_init 900
incneg 8072
resetloop 170652
pari_gmp_free 283294
convi 540518
diviuuexact 619282
muluui 641506
floorr 755797
addumului 931603
divis 1158621
xmpn_copy 1950245
truncr 1957389
setloop 2980810
sqrtremi 3713992
divri_with_gmp 6270229
sqrispec_mirror 7027688
red_montgomery 10844007
muliispec_mirror 14103845
icopy_ef 16963234
remi2n 17214976
mpz2GEN 19392543
sqrtr_abs 28391080
mantissa2nr 30875939
divri 32240934
incpos 32379168
incloop 32697354
diviuexact 34068516
GEN2mpz 38785062
divis_rem 47919090
divrr_with_gmp 48596774
xmpn_zero 83258083
int_normalize 90842831
divrr 108211645
absdiviu_rem 145457750
affir 147409436
equaliispec 154805282
xmpn_mirror 180778575
xmpn_mirrorcopy 247500303
adduispec_offset 253765279
diviuexact_i 274483314
diviiexact 314898666
roundr_up_ip 339928845
shiftispec 410506438
sqrispec 759468802
subiuspec 851290064
dvmdii 863101059
umodiu 988468994
adduispec 1253384145
subiispec 1592631754
addiispec 1703004510
cmpiispec 1994907591
muliispec 2311755636
muluispec 2495933516

Generated by: LCOV version 1.13