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 - basemath - kummer.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.18.1 lcov report (development 30074-db9b3c0519) Lines: 850 861 98.7 %
Date: 2025-03-13 08:38:27 Functions: 60 60 100.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
vecsmall_balance 114
relative_pol 210
bnrclassfield_tower 228
prlifttoKz 360
nfcompositumall 384
prlifttoKzall 462
rnfkummer 618
_rnfkummer_step4 744
lifttoKz 762
prlifttoKz_i 822
_rnfkummer 846
max_smu 2200
compositum_red 2484
get_tau 2484
kervirtualunit 2484
rnfkummer_init 2484
RgV_lambda 2586
compute_polrel 2586
ideallifttoKz 2586
nfX_Z_normalize 2586
rnfkummer_ell 2586
bnrclassfield_sanitize 3378
get_mmu 4962
powtau 5172
prconj 5766
to_alg 7548
downtoK 7740
mod_Xell_a 7740
Rg_lambda 7956
split_pol 15480
RgV_tau 15744
bnrclassfieldvec 26544
rnfkummersimple 28926
rnfkummer_initall 28962
disc_primes 28980
bnrclassfield 29088
logall 29658
bnrclassfield_H 30294
bnrclassfield_primepower 30330
cyclic_compos 30330
nfV_to_logFlv 30558
bnf_cycgenmod 31410
futu 31410
compute_beta 31512
get_prlist 31512
list_Hecke 31512
matlogall 31512
reduce_mod_Qell 31512
reducebeta 31512
subgroup_info 31512
bid_primes 31566
get_badbnf 34098
get_z 36762
H_is_good 45186
isprincipalell 45894
lift_if_rational 61968
prconj_in_list 78714
nf_to_logFl 99132
gsetvarn 196416
Rg_tau 241874

Generated by: LCOV version 1.16