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.16.2 lcov report (development 29115-f22e516b23) Lines: 1910 2293 83.3 %
Date: 2024-04-21 08:07:06 Functions: 120 152 78.9 %
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
vec_groupelts_to_group_or_elts 7
f36galoisgen 14
galoisexport 28
f36releveauto4 35
cc_char_det 56
galoischardet 56
galoisisnormal 56
galoisconj0 63
s4galoisgen 77
findpsi 81
galoissubfields 84
FpXV_ffisom 91
fixedfieldfactor 91
galoiscosets 91
mkliftpow 91
a4galoisgen 98
galoisfindgroups 98
galoisisabelian 224
conjclasses_count 308
galoisconjclasses 308
groupelts_to_group_or_elts 406
galoisidentify 497
s4releveauto 525
cc_chartable 546
galoischartable 553
chiFT 861
f36releveauto2 910
conjcyclo 966
fixedfieldinclusion 1057
galoissplittinginit 1239
aut_to_groupelts 1246
galoisinitfromaut 1253
galoisdoliftn 1365
galoischarpoly 1435
s4makelift 1470
checkgaloischar 1491
galoischar_charpoly 1491
galoischar_dim 1547
galoismakepsi 1722
inittestlift 1764
listznstarelts 1771
galoissubgroups 1981
frobeniusliftall 2009
galoisfrobeniuslift 2219
checkgroup 3052
galois_group 3325
chival 3920
Qevproj_RgX 4186
checkgroupelts 4627
galoisgenlift 5334
fixedfieldfactmod 5355
galoisgenfixedfield 5355
galoisgenfixedfield0 5355
sympol_aut_evalmod 5355
freetest 5432
inittest 5432
Vmatrix 5670
matheadlong 5670
galoisfixedfield 5775
galoisgenliftauto 6559
get_image 6559
wpow 6559
chk_perm 7434
galoisvecpermtopol 8764
testpermutation 8806
is2sparse 10948
embed_roots 11060
fixedfieldorbits 11130
fixedfieldsurmer 11130
fixedfieldsympol 11130
sympol_eval 11130
Flv_sympol_eval 11207
sympol_eval_newtonsum 11207
sympol_is1to1_lg 11697
is_group 12313
galoischar_aut_charpoly 12355
stpow 14602
Flm_newtonsum 17522
galoispermtopol 17878
galoispermtopol_i 17878
cyclic_pc 24143
galoisfrobeniuslift_nilp 27396
psi_order 29498
galoisfindfrobenius 29511
makeLden 29601
galoisgen 29700
initlift 29706
galoisdolift 29708
checkgal 30443
galoisborne 31059
automorphismlift 31660
monomorphismratlift 31660
gg_get_std 33705
galoisconj1 35896
numberofconjugates 35896
cc_id 36939
polheadlong 38898
permtopol 49679
galoisinit 51251
vectopol 51275
vecheadlong 58191
galoisfrobeniustest 60044
monoratlift 63961
poltopermtest 65376
notgalois 66849
galoisconj 69943
galoisconj_monic 69943
initgaloisborne 83316
padicisint 94731
init_group 96548
galoisanalysis 96549
galoisconj4_main 96606
matrixnorm 114533
galois_test_perm 117383
embed_disc 135206
improves 162190
s4test 241162
lincomb 322093
intheadlong 1359826

Generated by: LCOV version 1.14