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.1 lcov report (development 28676-df828f1c94) Lines: 1906 2291 83.2 %
Date: 2023-08-26 07:54:43 Functions: 120 152 78.9 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Flm_newtonsum 17882
Flv_sympol_eval 11278
FlxV_Flx_gcd 0
FlxV_minpolymod 0
Flx_FlxV_minpolymod 0
FpXV_ffisom 91
Qevproj_RgX 4186
Vmatrix 5755
a4galoisgen 98
aut_to_groupelts 1246
automorphismlift 32074
br_get 0
brl_add 0
cc_char_det 56
cc_chartable 546
cc_id 36939
checkgal 30386
checkgaloischar 1491
checkgroup 3052
checkgroupelts 4627
chiFT 861
chival 3920
chk_perm 7434
conjclasses_count 308
conjcyclo 966
cyclic_pc 24386
embed_disc 135186
embed_roots 43
f36galoisgen 14
f36releveauto2 910
f36releveauto4 35
factperm 0
findp 0
findpsi 121
fixedfieldfactmod 5440
fixedfieldfactor 91
fixedfieldinclusion 1057
fixedfieldorbits 11215
fixedfieldsurmer 11215
fixedfieldsympol 11215
freetest 5517
frobeniusliftall 2002
galois_find_totally_split 7
galois_group 3633
galois_test_perm 117388
galoisanalysis 96788
galoisborne 31388
galoischar_aut_charpoly 12355
galoischar_charpoly 1491
galoischar_dim 1547
galoischardet 56
galoischarpoly 1435
galoischartable 553
galoisconj 69911
galoisconj0 63
galoisconj1 35888
galoisconj4 0
galoisconj4_main 96910
galoisconj_monic 69910
galoisconjclasses 308
galoiscosets 91
galoisdolift 30034
galoisdoliftn 1449
galoisexport 28
galoisfindfrobenius 29841
galoisfindgroups 98
galoisfixedfield 5775
galoisfrobeniuslift 2212
galoisfrobeniuslift_nilp 27734
galoisfrobeniustest 60733
galoisgen 30030
galoisgenfixedfield 5440
galoisgenfixedfield0 5440
galoisgenlift 5419
galoisgenlift_nilp 0
galoisgenliftauto 6648
galoisidentify 497
galoisinit 51553
galoisinitfromaut 1253
galoisisabelian 224
galoisisnormal 56
galoismakepsi 1715
galoisperm_free 0
galoisperm_init 0
galoispermtopol 17849
galoispermtopol_i 17849
galoissplittinginit 1239
galoissubfields 84
galoissubgroups 1981
galoisvecpermtopol 8761
genorbit 0
get_image 6648
get_pow 0
getfr 0
gg_get_std 34112
groupelts_to_group_or_elts 406
improves 163497
init_group 96785
initgaloisborne 83507
initlift 30036
inittest 5517
inittestlift 1757
intheadlong 1361148
is2sparse 10948
is_group 12313
lincomb 319462
listznstarelts 1764
makeLden 29932
matheadlong 5755
matrixnorm 114785
mkliftpow 91
monomorphismratlift 32074
monoratlift 64541
muldiv 0
nilp_froblift 0
notgalois 66757
numberofconjugates 35889
padicisint 94764
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
permtopol 49991
polheadlong 38803
poltopermtest 66131
psi_order 29824
s4galoisgen 77
s4makelift 1414
s4releveauto 469
s4test 239394
stpow 14780
sympol_aut_evalmod 5440
sympol_eval 11215
sympol_eval_newtonsum 11278
sympol_is1to1_lg 11812
testpermutation 8980
vec_groupelts_to_group_or_elts 7
vecheadlong 58533
vecsmall_increase 0
vectopol 51588
vecvecsmall_increase 0
wpow 6648

Generated by: LCOV version 1.14