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 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 - lfun.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.1 lcov report (development 22726-9e20c6a88) Lines: 1341 1408 95.2 %
Date: 2018-06-23 05:36:28 Functions: 136 137 99.3 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
lfun_get_dom 0
lfunthetacost0 14
lfun_get_bitprec 42
lfuncost0 42
lfunzeros 42
sersplit1 42
Rtor 56
checkconductor 84
lfunconductor 84
parse_maxcond 84
lfunthetaspec 91
derivnser 112
vecpowuu 112
ser_coeff0 210
lfunthetainit 259
lfuninit0 399
lfuncenterinit 406
lfunorderzero 427
Z_radical 588
znchargauss_i 588
znchargauss 805
lfunlambda 812
lfunan 819
der_level 1086
gammafrac 1099
lfunlambda0 1211
lfunderiv 1267
lfunlambda_product 1279
ldata_isreal 1706
lfunprod_get_fact 1797
lfunlambdaord 1834
powersshift 1932
lfuninit_vecc2_sum 2051
wrap2 2194
lfunrootres 2471
lfunparams2 2485
lfuninit_vecc_sum 2506
lfuncheckfeq 2562
theta_get_R 2663
lfun 3178
lfun0 3199
lfunsumcoth 3316
theta_pole_contrib 3675
lfunrootno 3787
get_eno 3822
ropm1 3843
lfun_OK 3955
lfun_get_factgammavec 3955
gammaordinary 4025
lfun_get_Residue 4205
lfunpoleresidue 4205
theta_add_polar_part 4270
lfuninit_vecc 4417
lfun_init_theta 4424
gamma_C 4445
lfuninit_pol 4557
lfuninit_make 5103
mkvroots 5204
theta_get_K 5204
get_domain 5250
simple_pole 5334
ldata_get_type 5523
normalize_simple_pole 5712
theta_dual 6321
wrap1 6473
lfunrtopoles 6482
rtoR 6531
veccothderivn 6639
polepart 6702
lfunthetainit_i 6804
normalizepoles 7273
fracgammadegree 7854
vecpowug 8342
residues_known 8883
antwist 9758
lfunhardyzeros 10344
lfuncost 10414
gamma_R 10801
lfun_get_expot 10834
lfun_get_w2 10834
lfunhardy 10841
ldata_get_degree 11079
lfunthetainit0 11214
mysercoeff 11721
checklfuninit 13333
sdomain_isincl 13333
deg1ser_shallow 13489
vgaell 13531
ldata_get_an 13636
lfunrtoR 13636
domain_get_der 13732
fracgammaeval 14483
gammafactproduct 14483
lfunparams 14838
isnegint 15246
gammafactor 15477
polgammaeval 15673
lfunrtoR_eno 16296
lfunrtoR_i 16373
lfun_get_pol 18070
lfun_get_step 18070
lfuninit 18233
domain_get_bitprec 18506
lfunlambda_OK 19349
theta1 25348
lfun_get_k2 28484
ldata_get_dual 28614
domain_get_dom 31431
lfun_get_domain 31844
lfuntheta 32124
theta_get_an 32250
theta_get_tdom 34707
theta_get_sqrtN 36534
lfunthetacheckinit 38417
vgaeasytheta 38956
lfunthetacost 39012
theta_get_bitprec 43479
ldata_get_rootno 44264
get_cone_fuzz 50212
gammavec_expo 53843
ldata_get_k1 53850
theta_get_m 64217
linit_get_type 72009
parse_dom 77644
get_cone 84919
ldata_get_k 89389
ldata_get_residue 102916
linit_get_ldata 106235
is_linit 109165
theta2 114510
ldata_get_conductor 121256
linit_get_tech 131075
mulT 139858
ldata_get_gammavec 167968
get_an 4667911
mul_an 11278649
vecan_cmul 23317882

Generated by: LCOV version 1.13