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.16.0 lcov report (development 28043-f08d8c672f) Lines: 120602 130824 92.2 %
Date: 2022-09-25 07:26:32 Functions: 11027 11734 94.0 %
Legend: Rating: low: < 75 % medium: >= 75 % high: >= 90 %

Filename Sort by name Line Coverage Sort by line coverage Functions Sort by function coverage
F2v.c
87.4%87.4%
87.4 % 546 / 625 80.6 % 54 / 67
F2x.c
86.3%86.3%
86.3 % 1497 / 1735 89.7 % 183 / 204
F2xqE.c
93.8%93.8%
93.8 % 420 / 448 94.8 % 55 / 58
F3v.c
83.5%83.5%
83.5 % 152 / 182 76.7 % 23 / 30
FF.c
92.4%92.4%
92.4 % 1345 / 1455 94.6 % 139 / 147
Fle.c
93.6%93.6%
93.6 % 427 / 456 89.1 % 57 / 64
Flv.c
97.2%97.2%
97.2 % 737 / 758 93.5 % 58 / 62
Flx.c
88.2%88.2%
88.2 % 2221 / 2517 87.0 % 287 / 330
FlxX.c
85.3%85.3%
85.3 % 1134 / 1329 76.6 % 141 / 184
FlxqE.c
95.9%95.9%
95.9 % 792 / 826 95.2 % 80 / 84
Flxq_log.c
95.7%95.7%
95.7 % 450 / 470 100.0 % 28 / 28
FpE.c
91.7%91.7%
91.7 % 985 / 1074 93.0 % 106 / 114
FpV.c
78.0%78.0%
78.0 % 752 / 964 83.0 % 112 / 135
FpX.c
90.7%90.7%
90.7 % 1426 / 1573 93.0 % 174 / 187
FpXQX_factor.c
82.9%82.9%
82.9 % 1614 / 1946 83.0 % 127 / 153
FpXX.c
83.5%83.5%
83.5 % 916 / 1097 86.6 % 110 / 127
FpX_factor.c
91.7%91.7%
91.7 % 1307 / 1425 91.9 % 114 / 124
QX_factor.c
96.5%96.5%
96.5 % 768 / 796 97.8 % 44 / 45
Qfb.c
89.2%89.2%
89.2 % 946 / 1060 91.3 % 115 / 126
RgV.c
88.0%88.0%
88.0 % 508 / 577 91.3 % 94 / 103
RgX.c
90.9%90.9%
90.9 % 1606 / 1767 91.2 % 198 / 217
Ser.c
98.8%98.8%
98.8 % 162 / 164 100.0 % 21 / 21
ZG.c
60.3%60.3%
60.3 % 44 / 73 57.1 % 8 / 14
ZV.c
89.0%89.0%
89.0 % 779 / 875 92.4 % 122 / 132
ZX.c
88.5%88.5%
88.5 % 700 / 791 88.8 % 95 / 107
Zp.c
88.8%88.8%
88.8 % 764 / 860 92.4 % 73 / 79
alglin1.c
86.6%86.6%
86.6 % 2742 / 3165 93.0 % 292 / 314
alglin2.c
90.0%90.0%
90.0 % 1015 / 1128 93.0 % 80 / 86
alglin3.c
92.2%92.2%
92.2 % 533 / 578 88.9 % 48 / 54
aprcl.c
85.1%85.1%
85.1 % 601 / 706 98.0 % 50 / 51
arith1.c
91.9%91.9%
91.9 % 2004 / 2181 95.0 % 207 / 218
arith2.c
88.9%88.9%
88.9 % 496 / 558 89.5 % 68 / 76
base1.c
95.1%95.1%
95.1 % 1711 / 1800 89.2 % 140 / 157
base2.c
94.9%94.9%
94.9 % 2199 / 2318 97.7 % 168 / 172
base3.c
93.8%93.8%
93.8 % 2035 / 2169 94.6 % 227 / 240
base4.c
91.4%91.4%
91.4 % 1650 / 1806 91.1 % 163 / 179
base5.c
94.2%94.2%
94.2 % 1097 / 1164 96.2 % 76 / 79
bb_group.c
93.5%93.5%
93.5 % 532 / 569 100.0 % 36 / 36
bb_hnf.c
94.1%94.1%
94.1 % 624 / 663 92.7 % 51 / 55
bern.c
94.9%94.9%
94.9 % 333 / 351 97.1 % 34 / 35
bibli1.c
95.3%95.3%
95.3 % 1085 / 1138 92.1 % 70 / 76
bibli2.c
95.4%95.4%
95.4 % 1229 / 1288 95.0 % 114 / 120
bit.c
96.7%96.7%
96.7 % 408 / 422 94.4 % 34 / 36
bnflog.c
97.8%97.8%
97.8 % 272 / 278 100.0 % 26 / 26
bnfunits.c
96.4%96.4%
96.4 % 217 / 225 100.0 % 14 / 14
buch1.c
94.7%94.7%
94.7 % 641 / 677 92.0 % 46 / 50
buch2.c
92.0%92.0%
92.0 % 2170 / 2358 93.2 % 150 / 161
buch3.c
93.4%93.4%
93.4 % 1511 / 1617 96.0 % 120 / 125
buch4.c
95.9%95.9%
95.9 % 141 / 147 100.0 % 8 / 8
char.c
96.5%96.5%
96.5 % 811 / 840 100.0 % 63 / 63
concat.c
92.2%92.2%
92.2 % 330 / 358 100.0 % 15 / 15
crvwtors.c
84.8%84.8%
84.8 % 274 / 323 83.3 % 25 / 30
digits.c
93.1%93.1%
93.1 % 162 / 174 100.0 % 23 / 23
dirichlet.c
91.5%91.5%
91.5 % 313 / 342 100.0 % 21 / 21
ecpp.c
93.0%93.0%
93.0 % 756 / 813 97.0 % 96 / 99
ellanal.c
92.1%92.1%
92.1 % 726 / 788 94.4 % 67 / 71
elliptic.c
93.9%93.9%
93.9 % 4241 / 4518 98.2 % 380 / 387
ellisog.c
98.7%98.7%
98.7 % 942 / 954 100.0 % 80 / 80
ellpadic.c
96.2%96.2%
96.2 % 588 / 611 100.0 % 47 / 47
ellpadiclambdamu.c
100.0%
100.0 % 113 / 113 100.0 % 7 / 7
ellrank.c
93.4%93.4%
93.4 % 1107 / 1185 93.8 % 105 / 112
ellsea.c
95.6%95.6%
95.6 % 1157 / 1210 96.8 % 90 / 93
elltors.c
95.7%95.7%
95.7 % 419 / 438 92.3 % 24 / 26
factcyclo.c
79.1%79.1%
79.1 % 864 / 1092 85.7 % 72 / 84
galconj.c
83.3%83.3%
83.3 % 1902 / 2284 78.8 % 119 / 151
gen1.c
94.1%94.1%
94.1 % 1915 / 2036 100.0 % 98 / 98
gen2.c
89.1%89.1%
89.1 % 1569 / 1760 94.9 % 148 / 156
gen3.c
92.4%92.4%
92.4 % 2410 / 2607 95.9 % 231 / 241
grossenchar.c
98.7%98.7%
98.7 % 1041 / 1055 100.0 % 66 / 66
hgm.c
96.9%96.9%
96.9 % 1217 / 1256 100.0 % 139 / 139
hnf_snf.c
90.0%90.0%
90.0 % 1549 / 1722 90.0 % 90 / 100
hyperell.c
97.3%97.3%
97.3 % 807 / 829 100.0 % 70 / 70
hypergeom.c
98.7%98.7%
98.7 % 670 / 679 100.0 % 71 / 71
ifactor1.c
82.2%82.2%
82.2 % 1528 / 1860 86.8 % 92 / 106
ispower.c
93.2%93.2%
93.2 % 686 / 736 94.9 % 37 / 39
kummer.c
98.7%98.7%
98.7 % 855 / 866 100.0 % 61 / 61
lambert.c
89.6%89.6%
89.6 % 233 / 260 81.8 % 18 / 22
lerch.c
96.2%96.2%
96.2 % 329 / 342 100.0 % 20 / 20
lfun.c
97.7%97.7%
97.7 % 1461 / 1496 99.4 % 158 / 159
lfunquad.c
96.9%96.9%
96.9 % 342 / 353 97.7 % 43 / 44
lfunutils.c
92.2%92.2%
92.2 % 1746 / 1893 94.4 % 168 / 178
lll.c
79.8%79.8%
79.8 % 1001 / 1255 96.8 % 90 / 93
map.c
99.1%99.1%
99.1 % 219 / 221 100.0 % 27 / 27
matperm.c
100.0%
100.0 % 78 / 78 100.0 % 4 / 4
mellininv.c
98.8%98.8%
98.8 % 334 / 338 100.0 % 36 / 36
mftrace.c
97.2%97.2%
97.2 % 7521 / 7734 99.2 % 766 / 772
modsym.c
93.2%93.2%
93.2 % 2823 / 3029 98.3 % 294 / 299
msfarey.c
96.9%96.9%
96.9 % 187 / 193 100.0 % 17 / 17
nffactor.c
93.1%93.1%
93.1 % 1218 / 1308 94.9 % 75 / 79
nflist.c
96.3%96.3%
96.3 % 3109 / 3228 97.8 % 314 / 321
nflistQT.c
97.0%97.0%
97.0 % 164 / 169 100.0 % 12 / 12
pclgp.c
77.1%77.1%
77.1 % 1835 / 2379 85.0 % 153 / 180
perm.c
91.7%91.7%
91.7 % 952 / 1038 93.7 % 104 / 111
polarit1.c
95.8%95.8%
95.8 % 319 / 333 100.0 % 32 / 32
polarit2.c
90.4%90.4%
90.4 % 2167 / 2397 95.1 % 193 / 203
polarit3.c
90.1%90.1%
90.1 % 1742 / 1934 93.4 % 185 / 198
polclass.c
97.5%97.5%
97.5 % 828 / 849 98.6 % 72 / 73
polmodular.c
97.0%97.0%
97.0 % 2281 / 2352 100.0 % 142 / 142
prime.c
91.8%91.8%
91.8 % 653 / 711 93.3 % 70 / 75
qfisom.c
98.1%98.1%
98.1 % 871 / 888 100.0 % 55 / 55
qfsolve.c
98.4%98.4%
98.4 % 604 / 614 100.0 % 33 / 33
quad.c
95.9%95.9%
95.9 % 684 / 713 98.2 % 56 / 57
ramanujantau.c
97.3%97.3%
97.3 % 107 / 110 100.0 % 12 / 12
random.c
100.0%
100.0 % 157 / 157 100.0 % 17 / 17
rootpol.c
95.9%95.9%
95.9 % 1478 / 1541 97.5 % 116 / 119
subcyclo.c
92.5%92.5%
92.5 % 606 / 655 93.9 % 46 / 49
subfield.c
98.1%98.1%
98.1 % 940 / 958 98.0 % 48 / 49
subgroup.c
96.0%96.0%
96.0 % 356 / 371 100.0 % 24 / 24
trans1.c
97.0%97.0%
97.0 % 2228 / 2298 99.4 % 165 / 166
trans2.c
96.2%96.2%
96.2 % 1211 / 1259 97.8 % 91 / 93
trans3.c
93.2%93.2%
93.2 % 1720 / 1846 97.7 % 125 / 128
volcano.c
98.6%98.6%
98.6 % 340 / 345 100.0 % 28 / 28
zetamult.c
96.7%96.7%
96.7 % 562 / 581 100.0 % 41 / 41

Generated by: LCOV version 1.14