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 - language Hit Total Coverage
Test: PARI/GP v2.18.0 lcov report (development 29577-fd85bc10e5) Lines: 12216 15288 79.9 %
Date: 2024-10-03 09:06:43 Functions: 1200 1412 85.0 %
Legend: Rating: low: < 75 % medium: >= 75 % high: >= 90 %

Filename Sort by name Line Coverage Sort by line coverage Functions Sort by function coverage
anal.c
91.8%91.8%
91.8 % 636 / 693 94.1 % 95 / 101
compile.c
90.9%90.9%
90.9 % 1607 / 1767 97.8 % 88 / 90
default.c
63.1%63.1%
63.1 % 373 / 591 62.9 % 44 / 70
es.c
73.8%73.8%
73.8 % 2052 / 2781 81.9 % 254 / 310
eval.c
69.0%69.0%
69.0 % 1304 / 1890 75.5 % 117 / 155
forprime.c
87.0%87.0%
87.0 % 441 / 507 94.7 % 36 / 38
gplib.c
56.2%56.2%
56.2 % 572 / 1018 66.0 % 68 / 103
hash.c
87.9%87.9%
87.9 % 167 / 190 96.9 % 31 / 32
init.c
77.8%77.8%
77.8 % 1170 / 1503 84.0 % 137 / 163
intnum.c
97.0%97.0%
97.0 % 1584 / 1633 99.2 % 132 / 133
members.c
98.5%98.5%
98.5 % 330 / 335 100.0 % 55 / 55
parse.c
77.0%77.0%
77.0 % 424 / 551 87.5 % 7 / 8
parse.y
94.9%94.9%
94.9 % 111 / 117 - 0 / 0
parsec.h
95.1%95.1%
95.1 % 98 / 103 100.0 % 17 / 17
readline.c
0.0%
0.0 % 0 / 185 0.0 % 0 / 17
str.c
89.5%89.5%
89.5 % 111 / 124 93.3 % 14 / 15
sumiter.c
95.1%95.1%
95.1 % 1236 / 1300 100.0 % 105 / 105

Generated by: LCOV version 1.16