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-bordeaux1.fr machine (x86_64 architecture), and agregate them in the final report:

The target is 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 - language Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 16962-5a32637) Lines: 7574 11168 67.8 %
Date: 2014-10-29 Functions: 782 1090 71.7 %
Legend: Rating: low: < 75 % medium: >= 75 % high: >= 90 % Branches: 4203 7819 53.8 %

Filename Sort by name Line Coverage Sort by line coverage Functions Sort by function coverage Branches Sort by branch coverage
anal.c
69.8%69.8%
69.8 % 426 / 610 88.7 % 63 / 71 55.0 % 278 / 505
compat.c
0.0%
0.0 % 0 / 60 0.0 % 0 / 29 0.0 % 0 / 35
compile.c
85.8%85.8%
85.8 % 1221 / 1423 91.0 % 71 / 78 76.0 % 665 / 875
default.c
43.5%43.5%
43.5 % 206 / 474 45.8 % 27 / 59 22.4 % 67 / 299
es.c
61.5%61.5%
61.5 % 1513 / 2461 68.4 % 195 / 285 51.4 % 957 / 1862
eval.c
62.1%62.1%
62.1 % 801 / 1290 68.0 % 66 / 97 46.9 % 377 / 804
gplib.c
28.5%28.5%
28.5 % 242 / 850 40.9 % 36 / 88 20.9 % 145 / 694
hash.c
59.0%59.0%
59.0 % 69 / 117 75.0 % 12 / 16 42.6 % 29 / 68
init.c
65.7%65.7%
65.7 % 758 / 1154 68.0 % 87 / 128 50.5 % 385 / 763
intnum.c
89.8%89.8%
89.8 % 850 / 947 94.6 % 87 / 92 63.5 % 396 / 624
members.c
98.0%98.0%
98.0 % 290 / 296 96.4 % 53 / 55 93.9 % 201 / 214
parse.c
66.3%66.3%
66.3 % 167 / 252 100.0 % 5 / 5 68.5 % 185 / 270
parse.y
96.9%96.9%
96.9 % 125 / 129 - 0 / 0 100.0 % 2 / 2
parsec.h
95.4%95.4%
95.4 % 104 / 109 100.0 % 17 / 17 83.3 % 25 / 30
sumiter.c
80.5%80.5%
80.5 % 802 / 996 90.0 % 63 / 70 63.4 % 491 / 774

Generated by: LCOV version 1.9