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 17400-bace02f) Lines: 7787 11321 68.8 %
Date: 2015-01-26 Functions: 820 1120 73.2 %
Legend: Rating: low: < 75 % medium: >= 75 % high: >= 90 % Branches: 4274 7879 54.2 %

Filename Sort by name Line Coverage Sort by line coverage Functions Sort by function coverage Branches Sort by branch coverage
compat.c
0.0%
0.0 % 0 / 60 0.0 % 0 / 29 0.0 % 0 / 35
gplib.c
28.8%28.8%
28.8 % 245 / 850 40.9 % 36 / 88 21.3 % 148 / 694
default.c
44.5%44.5%
44.5 % 210 / 472 46.6 % 27 / 58 24.2 % 72 / 298
eval.c
63.0%63.0%
63.0 % 818 / 1299 69.0 % 69 / 100 47.3 % 384 / 812
init.c
65.4%65.4%
65.4 % 754 / 1153 68.2 % 88 / 129 49.2 % 382 / 777
es.c
61.7%61.7%
61.7 % 1537 / 2493 70.0 % 201 / 287 51.1 % 958 / 1876
anal.c
75.1%75.1%
75.1 % 508 / 676 93.1 % 81 / 87 56.6 % 283 / 500
intnum.c
89.8%89.8%
89.8 % 850 / 947 94.6 % 87 / 92 63.5 % 396 / 624
sumiter.c
80.5%80.5%
80.5 % 802 / 996 90.0 % 63 / 70 63.4 % 491 / 774
hash.c
80.5%80.5%
80.5 % 124 / 154 87.5 % 21 / 24 69.6 % 64 / 92
parse.c
69.4%69.4%
69.4 % 175 / 252 100.0 % 5 / 5 69.5 % 187 / 269
compile.c
86.7%86.7%
86.7 % 1249 / 1441 91.1 % 72 / 79 77.0 % 682 / 886
parsec.h
97.1%97.1%
97.1 % 100 / 103 100.0 % 17 / 17 92.3 % 24 / 26
members.c
98.0%98.0%
98.0 % 290 / 296 96.4 % 53 / 55 93.9 % 201 / 214
parse.y
96.9%96.9%
96.9 % 125 / 129 - 0 / 0 100.0 % 2 / 2

Generated by: LCOV version 1.9