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 30007-407ab607e8) Lines: 1915 2301 83.2 %
Date: 2025-02-20 09:19:49 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
findpsi 72
s4galoisgen 77
galoissubfields 84
FpXV_ffisom 91
fixedfieldfactor 91
galoiscosets 91
mkliftpow 91
a4galoisgen 98
galoisfindgroups 98
galoisisabelian 224
conjclasses_count 308
galoisconjclasses 308
galoisidentify 504
s4releveauto 511
cc_chartable 546
galoischartable 553
groupelts_to_group_or_elts 826
chiFT 861
f36releveauto2 910
conjcyclo 980
fixedfieldinclusion 1057
galoissplittinginit 1239
aut_to_groupelts 1246
galoisinitfromaut 1253
galoisdoliftn 1335
galoischarpoly 1435
s4makelift 1456
checkgaloischar 1491
galoischar_charpoly 1491
galoischar_dim 1547
galoismakepsi 1729
inittestlift 1771
listznstarelts 1778
frobeniusliftall 2016
galoisfrobeniuslift 2233
galoissubgroups 3213
galois_group 3346
chival 3920
Qevproj_RgX 4186
checkgroup 4270
checkgroupelts 4634
galoisgenlift 5360
fixedfieldfactmod 5381
galoisgenfixedfield 5381
galoisgenfixedfield0 5381
sympol_aut_evalmod 5381
freetest 5458
inittest 5458
Vmatrix 5696
matheadlong 5696
galoisfixedfield 5810
galoisgenliftauto 6585
get_image 6585
wpow 6585
chk_perm 7469
group_is_elt 8351
testpermutation 8802
galoisvecpermtopol 8889
is2sparse 11011
fixedfieldorbits 11191
fixedfieldsurmer 11191
fixedfieldsympol 11191
sympol_eval 11191
Flv_sympol_eval 11268
sympol_eval_newtonsum 11268
sympol_is1to1_lg 11764
embed_roots 11888
galoischar_aut_charpoly 12355
is_group 13279
stpow 14654
Flm_newtonsum 17616
galoispermtopol 17976
galoispermtopol_i 17976
cyclic_pc 24274
galoisfrobeniuslift_nilp 27543
psi_order 29656
galoisfindfrobenius 29671
makeLden 29761
galoisgen 29860
galoisdolift 29863
initlift 29867
checkgal 31122
galoisborne 31218
automorphismlift 31788
monomorphismratlift 31788
gg_get_std 33890
galoisconj1 35986
numberofconjugates 35986
cc_id 36939
polheadlong 38926
permtopol 49931
galoisinit 51400
vectopol 51532
vecheadlong 58365
galoisfrobeniustest 60314
monoratlift 64081
poltopermtest 65678
notgalois 67012
galoisconj 70280
galoisconj_monic 70280
initgaloisborne 84425
padicisint 94969
galoisanalysis 96872
init_group 96872
galoisconj4_main 96991
galois_test_perm 117439
embed_disc 136509
improves 163210
s4test 239919
lincomb 320308
matrixnorm 424993
intheadlong 1361089

Generated by: LCOV version 1.16