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 23885-2a72ab867) Lines: 99484 107316 92.7 %
Date: 2019-05-25 05:43:58 Functions: 9037 9550 94.6 %
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
83.5%83.5%
83.5 % 253 / 303 73.8 % 31 / 42
F2x.c
93.4%93.4%
93.4 % 1392 / 1490 96.0 % 169 / 176
F2xqE.c
94.2%94.2%
94.2 % 420 / 446 94.8 % 55 / 58
FF.c
95.3%95.3%
95.3 % 1141 / 1197 96.5 % 139 / 144
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.7%89.7%
89.7 % 2892 / 3224 88.5 % 340 / 384
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.5%77.5%
77.5 % 700 / 903 82.7 % 105 / 127
FpX.c
90.1%90.1%
90.1 % 1306 / 1449 93.9 % 154 / 164
FpXQX_factor.c
83.3%83.3%
83.3 % 1585 / 1903 84.6 % 126 / 149
FpXX.c
84.5%84.5%
84.5 % 872 / 1032 87.9 % 102 / 116
FpX_factor.c
92.6%92.6%
92.6 % 1234 / 1332 93.0 % 107 / 115
Hensel.c
95.4%95.4%
95.4 % 622 / 652 96.9 % 62 / 64
QX_factor.c
96.0%96.0%
96.0 % 717 / 747 97.6 % 41 / 42
Qfb.c
87.0%87.0%
87.0 % 849 / 976 89.5 % 94 / 105
RgV.c
90.1%90.1%
90.1 % 484 / 537 92.7 % 89 / 96
RgX.c
89.9%89.9%
89.9 % 1477 / 1643 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.3%91.3%
91.3 % 766 / 839 95.1 % 116 / 122
ZX.c
93.8%93.8%
93.8 % 559 / 596 95.1 % 77 / 81
alglin1.c
86.2%86.2%
86.2 % 2564 / 2973 93.0 % 278 / 299
alglin2.c
90.2%90.2%
90.2 % 973 / 1079 93.8 % 76 / 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 % 3058 / 3293 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 % 1543 / 1616 88.1 % 118 / 134
base2.c
94.3%94.3%
94.3 % 2151 / 2281 97.1 % 170 / 175
base3.c
93.7%93.7%
93.7 % 1619 / 1727 94.8 % 181 / 191
base4.c
89.8%89.8%
89.8 % 1491 / 1661 90.8 % 148 / 163
base5.c
92.7%92.7%
92.7 % 1057 / 1140 94.9 % 75 / 79
bb_group.c
92.5%92.5%
92.5 % 534 / 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.3%94.3%
94.3 % 2354 / 2497 94.2 % 147 / 156
buch3.c
94.6%94.6%
94.6 % 1404 / 1484 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.8%90.8%
90.8 % 305 / 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
96.5%96.5%
96.5 % 945 / 979 98.8 % 80 / 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.1%95.1%
95.1 % 1589 / 1670 98.1 % 102 / 104
gen1.c
94.3%94.3%
94.3 % 1678 / 1780 100.0 % 91 / 91
gen2.c
88.3%88.3%
88.3 % 1322 / 1497 93.2 % 137 / 147
gen3.c
92.8%92.8%
92.8 % 2145 / 2312 95.6 % 215 / 225
hnf_snf.c
91.0%91.0%
91.0 % 1508 / 1658 93.5 % 86 / 92
hyperell.c
95.8%95.8%
95.8 % 483 / 504 100.0 % 41 / 41
hypergeom.c
100.0%
100.0 % 628 / 628 100.0 % 66 / 66
ifactor1.c
80.6%80.6%
80.6 % 1452 / 1802 87.1 % 88 / 101
kummer.c
92.3%92.3%
92.3 % 984 / 1066 97.2 % 69 / 71
lfun.c
96.0%96.0%
96.0 % 1354 / 1410 99.3 % 139 / 140
lfunutils.c
90.5%90.5%
90.5 % 1386 / 1532 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 % 7306 / 7476 99.6 % 748 / 751
modsym.c
94.9%94.9%
94.9 % 2569 / 2708 97.9 % 275 / 281
nffactor.c
93.0%93.0%
93.0 % 1172 / 1260 94.7 % 71 / 75
perm.c
87.4%87.4%
87.4 % 654 / 748 92.6 % 75 / 81
polarit1.c
96.6%96.6%
96.6 % 308 / 319 100.0 % 30 / 30
polarit2.c
91.0%91.0%
91.0 % 1893 / 2080 95.9 % 185 / 193
polarit3.c
87.3%87.3%
87.3 % 1318 / 1510 90.6 % 144 / 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
90.9%90.9%
90.9 % 638 / 702 95.9 % 70 / 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.6%91.6%
91.6 % 1516 / 1655 93.9 % 108 / 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 % 2060 / 2120 98.7 % 156 / 158
trans2.c
96.1%96.1%
96.1 % 1074 / 1118 98.8 % 84 / 85
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