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 - basemath Hit Total Coverage
Test: PARI/GP v2.12.0 lcov report (development 23036-b751c0af5) Lines: 98009 105456 92.9 %
Date: 2018-09-26 05:46:06 Functions: 8888 9363 94.9 %
Legend: Rating: low: < 75 % medium: >= 75 % high: >= 90 %

Filename Sort by name Line Coverage Sort by line coverage Functions Sort by function coverage
ZG.c
60.3%60.3%
60.3 % 44 / 73 57.1 % 8 / 14
FpV.c
75.4%75.4%
75.4 % 706 / 936 79.4 % 104 / 131
ifactor1.c
80.4%80.4%
80.4 % 1452 / 1807 87.0 % 87 / 100
buch4.c
80.5%80.5%
80.5 % 388 / 482 81.8 % 27 / 33
FpXQX_factor.c
83.5%83.5%
83.5 % 1577 / 1889 85.0 % 125 / 147
crvwtors.c
83.9%83.9%
83.9 % 270 / 322 82.8 % 24 / 29
FpXX.c
84.4%84.4%
84.4 % 830 / 983 88.6 % 101 / 114
aprcl.c
84.8%84.8%
84.8 % 599 / 706 98.0 % 50 / 51
bern.c
86.3%86.3%
86.3 % 164 / 190 80.0 % 16 / 20
kummer.c
86.5%86.5%
86.5 % 741 / 857 91.5 % 54 / 59
Fle.c
87.4%87.4%
87.4 % 292 / 334 81.2 % 39 / 48
polarit3.c
87.5%87.5%
87.5 % 1305 / 1492 89.8 % 141 / 157
gen2.c
88.2%88.2%
88.2 % 1320 / 1497 93.9 % 138 / 147
RgX.c
89.7%89.7%
89.7 % 1460 / 1627 92.1 % 175 / 190
FpX.c
90.0%90.0%
90.0 % 1294 / 1438 93.9 % 154 / 164
lfunutils.c
90.0%90.0%
90.0 % 1352 / 1503 91.9 % 125 / 136
RgV.c
90.1%90.1%
90.1 % 484 / 537 92.7 % 89 / 96
concat.c
90.5%90.5%
90.5 % 304 / 336 100.0 % 15 / 15
ecpp.c
90.4%90.4%
90.4 % 615 / 680 94.2 % 81 / 86
base4.c
90.5%90.5%
90.5 % 1414 / 1562 91.0 % 141 / 155
alglin2.c
90.7%90.7%
90.7 % 954 / 1052 94.9 % 74 / 78
prime.c
90.9%90.9%
90.9 % 636 / 700 96.0 % 72 / 75
hnf_snf.c
91.0%91.0%
91.0 % 1515 / 1664 94.6 % 87 / 92
polarit2.c
91.0%91.0%
91.0 % 1826 / 2006 96.6 % 173 / 179
bit.c
91.2%91.2%
91.2 % 372 / 408 91.7 % 33 / 36
ZV.c
91.2%91.2%
91.2 % 765 / 839 95.1 % 116 / 122
ellanal.c
91.3%91.3%
91.3 % 669 / 733 93.2 % 55 / 59
alglin3.c
91.6%91.6%
91.6 % 466 / 509 87.8 % 43 / 49
rootpol.c
91.6%91.6%
91.6 % 1510 / 1649 93.9 % 108 / 115
lll.c
91.8%91.8%
91.8 % 423 / 461 93.3 % 28 / 30
arith2.c
91.8%91.8%
91.8 % 590 / 643 94.6 % 87 / 92
Qfb.c
91.8%91.8%
91.8 % 847 / 923 93.0 % 93 / 100
FpE.c
92.0%92.0%
92.0 % 974 / 1059 92.1 % 105 / 114
Flx.c
92.3%92.3%
92.3 % 2838 / 3076 92.5 % 347 / 375
base5.c
92.6%92.6%
92.6 % 1035 / 1118 94.8 % 73 / 77
FpX_factor.c
92.7%92.7%
92.7 % 1243 / 1341 93.2 % 110 / 118
gen3.c
92.7%92.7%
92.7 % 2083 / 2248 95.9 % 212 / 221
arith1.c
92.6%92.6%
92.6 % 2979 / 3217 93.8 % 274 / 292
F2x.c
92.7%92.7%
92.7 % 1432 / 1544 94.1 % 176 / 187
bb_group.c
92.9%92.9%
92.9 % 538 / 579 97.2 % 35 / 36
nffactor.c
93.1%93.1%
93.1 % 1155 / 1241 94.5 % 69 / 73
perm.c
93.3%93.3%
93.3 % 652 / 699 94.9 % 75 / 79
trans3.c
93.2%93.2%
93.2 % 1765 / 1893 98.2 % 111 / 113
alglin1.c
93.4%93.4%
93.4 % 3441 / 3686 94.7 % 340 / 359
ZX.c
93.8%93.8%
93.8 % 558 / 595 95.1 % 77 / 81
base3.c
93.7%93.7%
93.7 % 1616 / 1724 94.8 % 181 / 191
bb_hnf.c
93.9%93.9%
93.9 % 600 / 639 92.7 % 51 / 55
elliptic.c
93.9%93.9%
93.9 % 3717 / 3958 98.0 % 339 / 346
F2xqE.c
94.2%94.2%
94.2 % 420 / 446 94.8 % 55 / 58
buch2.c
94.3%94.3%
94.3 % 2352 / 2495 94.2 % 147 / 156
buch3.c
94.4%94.4%
94.4 % 1405 / 1489 96.3 % 105 / 109
gen1.c
94.4%94.4%
94.4 % 1710 / 1812 100.0 % 89 / 89
base2.c
94.6%94.6%
94.6 % 2114 / 2235 97.7 % 167 / 171
hypergeom.c
94.8%94.8%
94.8 % 596 / 629 100.0 % 63 / 63
buch1.c
94.8%94.8%
94.8 % 634 / 669 93.6 % 44 / 47
FF.c
94.8%94.8%
94.8 % 1068 / 1126 95.6 % 129 / 135
subcyclo.c
94.9%94.9%
94.9 % 525 / 553 97.6 % 40 / 41
base1.c
95.0%95.0%
95.0 % 1524 / 1605 87.6 % 113 / 129
bibli1.c
95.1%95.1%
95.1 % 1028 / 1081 91.4 % 64 / 70
galconj.c
95.2%95.2%
95.2 % 1591 / 1672 98.1 % 101 / 103
lfun.c
95.3%95.3%
95.3 % 1337 / 1403 99.3 % 138 / 139
modsym.c
95.3%95.3%
95.3 % 2556 / 2681 98.2 % 274 / 279
dirichlet.c
95.5%95.5%
95.5 % 84 / 88 100.0 % 8 / 8
map.c
95.5%95.5%
95.5 % 275 / 288 100.0 % 33 / 33
subgroup.c
95.5%95.5%
95.5 % 339 / 355 100.0 % 22 / 22
hyperell.c
95.8%95.8%
95.8 % 481 / 502 100.0 % 41 / 41
QX_factor.c
95.8%95.8%
95.8 % 715 / 746 97.6 % 41 / 42
ellsea.c
95.9%95.9%
95.9 % 1116 / 1164 97.6 % 82 / 84
ellpadic.c
96.0%96.0%
96.0 % 580 / 604 100.0 % 47 / 47
trans2.c
96.1%96.1%
96.1 % 1053 / 1096 100.0 % 81 / 81
mellininv.c
96.3%96.3%
96.3 % 314 / 326 96.9 % 31 / 32
Flxq_log.c
96.4%96.4%
96.4 % 450 / 467 100.0 % 28 / 28
Hensel.c
96.4%96.4%
96.4 % 538 / 558 97.9 % 47 / 48
polarit1.c
96.6%96.6%
96.6 % 309 / 320 100.0 % 30 / 30
ellisog.c
96.5%96.5%
96.5 % 944 / 978 98.8 % 80 / 81
volcano.c
96.8%96.8%
96.8 % 329 / 340 100.0 % 22 / 22
qfisom.c
97.0%97.0%
97.0 % 997 / 1028 100.0 % 55 / 55
polmodular.c
96.9%96.9%
96.9 % 2264 / 2336 100.0 % 142 / 142
trans1.c
97.0%97.0%
97.0 % 2034 / 2096 98.7 % 151 / 153
FlxqE.c
97.1%97.1%
97.1 % 909 / 936 99.0 % 95 / 96
elltors.c
97.3%97.3%
97.3 % 394 / 405 91.7 % 22 / 24
char.c
97.3%97.3%
97.3 % 784 / 806 100.0 % 63 / 63
bibli2.c
97.3%97.3%
97.3 % 1037 / 1066 97.9 % 95 / 97
polclass.c
97.3%97.3%
97.3 % 833 / 856 98.3 % 59 / 60
mftrace.c
97.7%97.7%
97.7 % 7105 / 7271 99.7 % 734 / 736
bnflog.c
98.2%98.2%
98.2 % 273 / 278 100.0 % 24 / 24
zetamult.c
98.4%98.4%
98.4 % 246 / 250 95.5 % 21 / 22
qfsolve.c
98.5%98.5%
98.5 % 595 / 604 100.0 % 30 / 30
matperm.c
100.0%
100.0 % 78 / 78 100.0 % 4 / 4
Ser.c
100.0%
100.0 % 122 / 122 100.0 % 17 / 17
random.c
100.0%
100.0 % 141 / 141 100.0 % 16 / 16

Generated by: LCOV version 1.13