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 - galconj.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.18.1 lcov report (development 30640-c2c58e18c5) Lines: 1915 2300 83.3 %
Date: 2026-01-27 08:51:18 Functions: 121 153 79.1 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
FlxV_Flx_gcd 0
FlxV_minpolymod 0
Flx_FlxV_minpolymod 0
br_get 0
brl_add 0
factperm 0
findp 0
galoisconj4 0
galoisgenlift_nilp 0
galoisperm_free 0
galoisperm_init 0
genorbit 0
get_pow 0
getfr 0
muldiv 0
nilp_froblift 0
pc_bracket 0
pc_evalcache 0
pc_exp 0
pc_inv 0
pc_mul 0
pc_normalize 0
pc_to_perm 0
pcgrp_get_br 0
pcgrp_get_ord 0
pcgrp_get_pow 0
pcgrp_insert 0
pcgrp_lift 0
permprodeval 0
permtoaut 0
vecsmall_increase 0
vecvecsmall_increase 0
galois_find_totally_split 7
f36galoisgen 14
vec_groupelts_to_group_or_elts 14
galoisexport 28
f36releveauto4 35
cc_char_det 56
galoischardet 56
galoisisnormal 56
galoisconj0 63
galoisfindgroups 68
findpsi 72
s4galoisgen 77
galoissubfields 84
FpXV_ffisom 91
fixedfieldfactor 91
galoiscosets 91
mkliftpow 91
a4galoisgen 98
galoisisabelian 182
conjclasses_count 308
galoisconjclasses 308
galoisidentify 504
s4releveauto 513
cc_chartable 546
galoischartable 553
conjcyclo 728
galoisdoliftn 798
groupelts_to_group_or_elts 826
chiFT 861
f36releveauto2 910
fixedfieldinclusion 1057
galoissplittinginit 1227
aut_to_groupelts 1234
galoisinitfromaut 1241
galoischarpoly 1435
s4makelift 1458
checkgaloischar 1491
galoischar_charpoly 1491
galoismakepsi 1538
galoischar_dim 1547
listznstarelts 1587
inittestlift 1610
galoisfrobeniuslift 1790
frobeniusliftall 1825
is2sparse 1933
galoissubgroups 3189
galois_group 3294
chival 3920
Qevproj_RgX 4186
checkgroup 4204
checkgroupelts 4634
galoisgenlift 4699
fixedfieldfactmod 4720
galoisgenfixedfield 4720
galoisgenfixedfield0 4720
sympol_aut_evalmod 4720
freetest 4797
inittest 4797
Vmatrix 5035
matheadlong 5035
galoisfixedfield 5637
galoisgenliftauto 5855
get_image 5855
wpow 5855
chk_perm 7296
testpermutation 7535
group_is_elt 8327
galoisvecpermtopol 8390
fixedfieldorbits 10357
fixedfieldsurmer 10357
fixedfieldsympol 10357
sympol_eval 10357
Flv_sympol_eval 10434
sympol_eval_newtonsum 10434
sympol_is1to1_lg 10930
embed_roots 11466
galoischar_aut_charpoly 12355
is_group 13075
stpow 13194
Flm_newtonsum 16283
galoispermtopol 16800
galoispermtopol_i 16800
cyclic_pc 18084
galoisinit 19967
galoisfrobeniuslift_nilp 21132
psi_order 22804
galoisfindfrobenius 22818
makeLden 22909
galoisgen 23007
initlift 23013
galoisdolift 23014
galoisborne 24351
automorphismlift 24400
monomorphismratlift 24400
galoisconj1 25940
numberofconjugates 25941
gg_get_std 26469
checkgal 29707
notgalois 31850
cc_id 36939
polheadlong 38162
permtopol 41745
vectopol 43340
galoisfrobeniustest 46051
initgaloisborne 47001
poltopermtest 51113
monoratlift 52599
vecheadlong 53983
galoisconj 54014
galoisconj_monic 54014
galoisconj4_main 54760
galoisanalysis 54858
init_group 54859
padicisint 92652
embed_disc 104174
galois_test_perm 117246
improves 118608
s4test 239307
lincomb 319426
matrixnorm 436342
intheadlong 1321137

Generated by: LCOV version 1.16