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 - modules - genus2red.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.18.1 lcov report (development 30748-2ce22a5f1f) Lines: 1424 1557 91.5 %
Date: 2026-03-18 09:25:54 Functions: 60 60 100.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
zi_pow3mod 14
discpart 21
igusaall 21
igusaj8 21
polymini_zi 21
quadratic 21
theta_3_zi 28
igusaj10 42
igusaj8_fromj246 42
ssQ_denom 49
tame_1 49
polymini_zi2 84
quartic 84
theta_3_zi2 84
tame_567_init_3 91
tame_3 112
genus2igusa 126
tame_7 140
tame_4 154
padicfactors 175
tame_2 189
get_red 294
labelm3 301
litredtp 322
tame_6 322
get_nrq 364
RgX_recip6 413
tame_234_init 455
groupH 462
dicyclic 623
tame_5 651
myval_zi2 672
get_maxc 714
get_nr 889
tame_567_init 1113
myval_zi 1491
tame 1617
factmz 1988
ssQ_red 2730
my3val 2982
RgX_to_03 2996
apol2 2996
apol3 2996
apol5 2996
bpol2 2996
genus2red 2996
hyperellintegralmodel 2996
igusaj2 3059
igusaj4 3059
igusaj6 3059
cyclic 3129
zv_snf 3339
RgX_to_06 3416
polymini 3584
get_lambda 3696
genus2localred 3710
stable_reduction 3710
theta_j 3892
min3 4571
myval 52010

Generated by: LCOV version 1.16