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 - hgm.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.16.2 lcov report (development 29420-55f63b8cfe) Lines: 1218 1257 96.9 %
Date: 2024-07-03 09:03:24 Functions: 139 139 100.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
BAD2small 91
E2exp 938
Efuneq 36873
F2v_factorback 700
Flv_inv_p2 33927
Flv_red 609
Jordantame 77
Jordantameexpo 91
L0 614860
QV_normalize 1218
Q_krois 28416
RgV_addhalf 273
RgV_mirror 104146
RgXn_sqrtnu 42
al2cyE 1414
albe2u 231
allprims 843850
binomfact 116949
block0 97
checkhgm 1295
compu 2155
count2list 14
cyE_intersect 707
cycloE2cyclo 7
cyclodiscmodsq 126
cyclowt 103670
dirhgm_worker 3996
discprod 231
doprecomp 3668
doprecompmodp2 33933
eulfactameinit 105
forvecsort 98
frobpoltrunc 36964
gacfac 385
gapnpow 984438
get_CYCLOE 707
get_GF 33933
get_GH 33925
get_L0 33967
get_L1 37596
get_VPOLGA 700
get_achi 98
get_b1 973
get_dfp 37894
get_pad 3661
get_teich 3661
get_teich1 2947
get_u 469
gkgauss 57932
hgmC 235081
hgmCall 3668
hgmCallmodp2 33938
hgmCmodp2 16469527
hgmG 12292
hgmH 3906
hgmHmodp2 33919
hgmQ 12292
hgmU 287
hgm_get_BAD 37845
hgm_get_CYCLOE 12446
hgm_get_DEG 141782
hgm_get_HODGE 109798
hgm_get_MVALUE 693
hgm_get_OFFMPOL 652489
hgm_get_SIGNPAR 28623
hgm_get_SWAP 686
hgm_get_TT 87832
hgm_get_U 2940
hgm_get_U0 63
hgm_get_VAL 141819
hgm_get_VBE 35
hgm_get_VBEDEN 37596
hgm_get_VBENUM 37596
hgm_get_VPOLGA 698735
hgm_get_WT 109436
hgmalpha 21
hgmalphatogamma 231
hgmbydegree 21
hgmcharcond 259
hgmclass 37642
hgmcoef 84
hgmcoefs 399
hgmcyclo 7
hgmcyclotoalpha 103978
hgmeulerfactor 455
hgmeulerfactorlimit 37270
hgmfindvga 203
hgmgamma 21
hgmgammatoalpha 21
hgmgammatocyclo 21
hgminit 518
hgminit_i 518
hgmissymmetrical 7
hgmlfuninfty 203
hgmmodif 227731
hgmmoments 91
hgmmulti 24584
hgmparams 161
hgmsign 33930
hgmtrace 37852
hgmtwist 21
hodge 104146
initab 511
inv 3906
lfundivraw 35
lfunhgm 119
lfunhgm_i 112
lfunhgmispole 91
lfunhgmwild 98
listcond 98
listweil_i 1610
listweilallw_i 490
mangoldtexp 1365
mkal 182
mkalbe 21
mkallal 21
mkphi 21
mkpowers 36873
moebiusadd 10549
mul 35
ok_part 378
pari_close_hgm 318781
pari_init_hgm 324414
powers_u 36870
precomp 2162
primedivisors 609
remove_intersect 231
removebad 217
sumbinom 116949
sumdeg 127344
tag 112
tameexpo 14
teichmodp2 33936
umultop 203896
upowers_u 420
vecmellin 1708
zv_intersect 554932
zv_sumeuler 35
zv_to_prims 207956

Generated by: LCOV version 1.16