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.1 lcov report (development 24180-9bd538544) Lines: 100188 108177 92.6 %
Date: 2019-08-19 05:53:53 Functions: 9121 9656 94.5 %
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
80.3%80.3%
80.3 % 253 / 315 72.1 % 31 / 43
F2x.c
86.5%86.5%
86.5 % 1445 / 1671 89.7 % 175 / 195
F2xqE.c
94.2%94.2%
94.2 % 420 / 446 94.8 % 55 / 58
FF.c
92.7%92.7%
92.7 % 1123 / 1211 93.2 % 136 / 146
Fle.c
90.4%90.4%
90.4 % 301 / 333 83.3 % 40 / 48
Flv.c
96.2%96.2%
96.2 % 726 / 755 93.3 % 56 / 60
Flx.c
89.5%89.5%
89.5 % 2900 / 3239 88.2 % 343 / 389
FlxqE.c
96.9%96.9%
96.9 % 840 / 867 98.8 % 82 / 83
Flxq_log.c
95.7%95.7%
95.7 % 447 / 467 100.0 % 28 / 28
FpE.c
92.2%92.2%
92.2 % 984 / 1067 93.0 % 106 / 114
FpV.c
77.7%77.7%
77.7 % 709 / 912 82.8 % 106 / 128
FpX.c
90.1%90.1%
90.1 % 1306 / 1449 93.9 % 154 / 164
FpXQX_factor.c
83.3%83.3%
83.3 % 1586 / 1905 84.7 % 127 / 150
FpXX.c
84.5%84.5%
84.5 % 872 / 1032 87.9 % 102 / 116
FpX_factor.c
92.7%92.7%
92.7 % 1235 / 1332 93.0 % 107 / 115
Hensel.c
95.3%95.3%
95.3 % 615 / 645 96.9 % 62 / 64
QX_factor.c
94.5%94.5%
94.5 % 743 / 786 97.9 % 46 / 47
Qfb.c
87.0%87.0%
87.0 % 849 / 976 89.5 % 94 / 105
RgV.c
90.5%90.5%
90.5 % 498 / 550 92.9 % 91 / 98
RgX.c
90.0%90.0%
90.0 % 1492 / 1658 92.2 % 178 / 193
Ser.c
100.0%
100.0 % 126 / 126 100.0 % 17 / 17
ZG.c
60.3%60.3%
60.3 % 44 / 73 57.1 % 8 / 14
ZV.c
91.5%91.5%
91.5 % 773 / 845 95.1 % 117 / 123
ZX.c
92.3%92.3%
92.3 % 550 / 596 93.8 % 76 / 81
alglin1.c
86.5%86.5%
86.5 % 2610 / 3019 93.1 % 283 / 304
alglin2.c
90.7%90.7%
90.7 % 983 / 1084 95.1 % 77 / 81
alglin3.c
92.1%92.1%
92.1 % 480 / 521 88.0 % 44 / 50
aprcl.c
84.8%84.8%
84.8 % 599 / 706 98.0 % 50 / 51
arith1.c
92.9%92.9%
92.9 % 3061 / 3296 94.2 % 276 / 293
arith2.c
88.1%88.1%
88.1 % 590 / 670 91.6 % 87 / 95
base1.c
95.5%95.5%
95.5 % 1548 / 1621 88.1 % 118 / 134
base2.c
94.8%94.8%
94.8 % 2167 / 2287 97.7 % 171 / 175
base3.c
93.8%93.8%
93.8 % 1618 / 1725 94.8 % 181 / 191
base4.c
89.8%89.8%
89.8 % 1491 / 1660 90.8 % 148 / 163
base5.c
92.8%92.8%
92.8 % 1062 / 1145 94.9 % 75 / 79
bb_group.c
92.9%92.9%
92.9 % 536 / 577 97.2 % 35 / 36
bb_hnf.c
93.9%93.9%
93.9 % 602 / 641 92.7 % 51 / 55
bern.c
96.3%96.3%
96.3 % 180 / 187 94.7 % 18 / 19
bibli1.c
95.1%95.1%
95.1 % 1027 / 1080 91.4 % 64 / 70
bibli2.c
95.0%95.0%
95.0 % 1079 / 1136 94.5 % 104 / 110
bit.c
91.2%91.2%
91.2 % 372 / 408 91.7 % 33 / 36
bnflog.c
98.2%98.2%
98.2 % 273 / 278 100.0 % 24 / 24
buch1.c
94.8%94.8%
94.8 % 634 / 669 93.6 % 44 / 47
buch2.c
94.2%94.2%
94.2 % 2355 / 2500 94.2 % 147 / 156
buch3.c
94.6%94.6%
94.6 % 1403 / 1483 96.3 % 105 / 109
buch4.c
80.3%80.3%
80.3 % 387 / 482 81.8 % 27 / 33
char.c
97.3%97.3%
97.3 % 784 / 806 100.0 % 63 / 63
concat.c
90.5%90.5%
90.5 % 304 / 336 100.0 % 15 / 15
crvwtors.c
83.9%83.9%
83.9 % 270 / 322 82.8 % 24 / 29
dirichlet.c
97.0%97.0%
97.0 % 130 / 134 100.0 % 11 / 11
ecpp.c
92.8%92.8%
92.8 % 633 / 682 97.7 % 84 / 86
ellanal.c
91.3%91.3%
91.3 % 665 / 728 93.3 % 56 / 60
elliptic.c
93.9%93.9%
93.9 % 3743 / 3987 98.0 % 343 / 350
ellisog.c
98.4%98.4%
98.4 % 964 / 980 100.0 % 81 / 81
ellpadic.c
96.0%96.0%
96.0 % 580 / 604 100.0 % 47 / 47
ellsea.c
95.9%95.9%
95.9 % 1110 / 1158 97.6 % 81 / 83
elltors.c
97.8%97.8%
97.8 % 399 / 408 92.0 % 23 / 25
galconj.c
95.2%95.2%
95.2 % 1923 / 2020 98.6 % 139 / 141
gen1.c
94.5%94.5%
94.5 % 1682 / 1780 100.0 % 91 / 91
gen2.c
88.7%88.7%
88.7 % 1329 / 1498 93.2 % 137 / 147
gen3.c
92.9%92.9%
92.9 % 2198 / 2365 95.7 % 222 / 232
hnf_snf.c
91.6%91.6%
91.6 % 1530 / 1670 93.7 % 89 / 95
hyperell.c
95.9%95.9%
95.9 % 488 / 509 100.0 % 42 / 42
hypergeom.c
100.0%
100.0 % 628 / 628 100.0 % 66 / 66
ifactor1.c
80.9%80.9%
80.9 % 1455 / 1798 87.1 % 88 / 101
kummer.c
92.0%92.0%
92.0 % 964 / 1048 97.1 % 68 / 70
lfun.c
96.1%96.1%
96.1 % 1355 / 1410 99.3 % 139 / 140
lfunutils.c
90.5%90.5%
90.5 % 1387 / 1533 92.1 % 129 / 140
lll.c
92.1%92.1%
92.1 % 440 / 478 93.8 % 30 / 32
map.c
98.2%98.2%
98.2 % 215 / 219 100.0 % 27 / 27
matperm.c
100.0%
100.0 % 78 / 78 100.0 % 4 / 4
mellininv.c
96.3%96.3%
96.3 % 311 / 323 96.8 % 30 / 31
mftrace.c
97.7%97.7%
97.7 % 7377 / 7554 99.5 % 756 / 760
modsym.c
94.9%94.9%
94.9 % 2569 / 2708 97.9 % 275 / 281
nffactor.c
95.6%95.6%
95.6 % 1179 / 1233 98.6 % 73 / 74
perm.c
87.4%87.4%
87.4 % 653 / 747 92.6 % 75 / 81
polarit1.c
96.6%96.6%
96.6 % 313 / 324 100.0 % 32 / 32
polarit2.c
91.0%91.0%
91.0 % 1911 / 2101 95.4 % 187 / 196
polarit3.c
87.0%87.0%
87.0 % 1315 / 1511 89.9 % 143 / 159
polclass.c
97.3%97.3%
97.3 % 833 / 856 98.3 % 59 / 60
polmodular.c
96.9%96.9%
96.9 % 2255 / 2326 100.0 % 142 / 142
prime.c
88.0%88.0%
88.0 % 614 / 698 91.8 % 67 / 73
qfisom.c
97.2%97.2%
97.2 % 1001 / 1030 100.0 % 55 / 55
qfsolve.c
98.5%98.5%
98.5 % 595 / 604 100.0 % 30 / 30
random.c
100.0%
100.0 % 141 / 141 100.0 % 16 / 16
rootpol.c
91.8%91.8%
91.8 % 1515 / 1651 94.8 % 109 / 115
subcyclo.c
94.9%94.9%
94.9 % 525 / 553 97.6 % 40 / 41
subgroup.c
95.5%95.5%
95.5 % 337 / 353 100.0 % 22 / 22
trans1.c
97.2%97.2%
97.2 % 2061 / 2121 98.7 % 156 / 158
trans2.c
95.7%95.7%
95.7 % 1091 / 1140 97.8 % 87 / 89
trans3.c
93.3%93.3%
93.3 % 1869 / 2003 97.7 % 126 / 129
volcano.c
96.8%96.8%
96.8 % 329 / 340 100.0 % 22 / 22
zetamult.c
98.4%98.4%
98.4 % 246 / 250 95.5 % 21 / 22

Generated by: LCOV version 1.13