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.16.1 lcov report (development 28559-a7bed2c7d7) Lines: 12008 15002 80.0 %
Date: 2023-06-04 07:48:19 Functions: 1182 1393 84.9 %
Legend: Rating: low: < 75 % medium: >= 75 % high: >= 90 %

Filename Sort by name Line Coverage Sort by line coverage Functions Sort by function coverage
readline.c
0.0%
0.0 % 0 / 186 0.0 % 0 / 17
default.c
62.4%62.4%
62.4 % 355 / 569 62.7 % 42 / 67
gplib.c
54.7%54.7%
54.7 % 522 / 955 64.9 % 63 / 97
eval.c
69.9%69.9%
69.9 % 1252 / 1790 77.2 % 115 / 149
es.c
74.6%74.6%
74.6 % 2069 / 2774 82.3 % 255 / 310
init.c
77.5%77.5%
77.5 % 1156 / 1491 82.7 % 134 / 162
forprime.c
85.0%85.0%
85.0 % 435 / 512 85.7 % 36 / 42
anal.c
91.8%91.8%
91.8 % 636 / 693 94.1 % 95 / 101
hash.c
87.4%87.4%
87.4 % 160 / 183 96.8 % 30 / 31
compile.c
90.6%90.6%
90.6 % 1587 / 1751 97.8 % 88 / 90
intnum.c
97.0%97.0%
97.0 % 1567 / 1615 98.5 % 129 / 131
sumiter.c
94.9%94.9%
94.9 % 1237 / 1303 99.1 % 105 / 106
parse.y
94.0%94.0%
94.0 % 110 / 117 - 0 / 0
parse.c
74.9%74.9%
74.9 % 391 / 522 100.0 % 5 / 5
str.c
100.0%
100.0 % 107 / 107 100.0 % 14 / 14
parsec.h
95.1%95.1%
95.1 % 98 / 103 100.0 % 17 / 17
members.c
98.5%98.5%
98.5 % 326 / 331 100.0 % 54 / 54

Generated by: LCOV version 1.14