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 30074-db9b3c0519) Lines: 1916 2301 83.3 %
Date: 2025-03-13 08:38:27 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 6
f36galoisgen 12
vec_groupelts_to_group_or_elts 12
galoisexport 24
f36releveauto4 30
cc_char_det 48
galoischardet 48
galoisisnormal 48
galoisconj0 54
findpsi 62
s4galoisgen 66
galoissubfields 72
FpXV_ffisom 78
fixedfieldfactor 78
galoiscosets 78
mkliftpow 78
a4galoisgen 84
galoisfindgroups 84
galoisisabelian 192
conjclasses_count 264
galoisconjclasses 264
galoisidentify 432
s4releveauto 440
cc_chartable 468
galoischartable 474
groupelts_to_group_or_elts 708
chiFT 738
f36releveauto2 780
conjcyclo 840
fixedfieldinclusion 906
galoissplittinginit 1062
aut_to_groupelts 1068
galoisinitfromaut 1074
galoisdoliftn 1137
galoischarpoly 1230
s4makelift 1250
checkgaloischar 1278
galoischar_charpoly 1278
galoischar_dim 1326
galoismakepsi 1482
inittestlift 1518
listznstarelts 1524
frobeniusliftall 1728
galoisfrobeniuslift 1914
galoissubgroups 2754
galois_group 2868
chival 3360
Qevproj_RgX 3588
checkgroup 3660
checkgroupelts 3972
galoisgenlift 4587
fixedfieldfactmod 4605
galoisgenfixedfield 4605
galoisgenfixedfield0 4605
sympol_aut_evalmod 4605
freetest 4671
inittest 4671
Vmatrix 4875
matheadlong 4875
galoisfixedfield 4980
galoisgenliftauto 5637
get_image 5637
wpow 5637
chk_perm 6402
group_is_elt 7158
testpermutation 7530
galoisvecpermtopol 7620
is2sparse 9438
fixedfieldorbits 9585
fixedfieldsurmer 9585
fixedfieldsympol 9585
sympol_eval 9585
Flv_sympol_eval 9651
sympol_eval_newtonsum 9651
sympol_is1to1_lg 10081
embed_roots 10445
galoischar_aut_charpoly 10590
is_group 11382
stpow 12546
Flm_newtonsum 15075
galoispermtopol 15406
galoispermtopol_i 15406
cyclic_pc 20808
galoisfrobeniuslift_nilp 23601
psi_order 25413
galoisfindfrobenius 25425
makeLden 25503
galoisgen 25587
galoisdolift 25593
initlift 25593
checkgal 26674
galoisborne 26751
automorphismlift 27234
monomorphismratlift 27234
gg_get_std 29034
galoisconj1 30846
numberofconjugates 30846
cc_id 31662
polheadlong 33364
permtopol 42793
galoisinit 44058
vectopol 44161
vecheadlong 49998
galoisfrobeniustest 51673
monoratlift 54837
poltopermtest 56174
notgalois 57447
galoisconj 60240
galoisconj_monic 60240
initgaloisborne 72360
padicisint 81402
galoisanalysis 83034
init_group 83034
galoisconj4_main 83136
galois_test_perm 100662
embed_disc 117012
improves 139870
s4test 205146
lincomb 273826
matrixnorm 360709
intheadlong 1166530

Generated by: LCOV version 1.16