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.0 lcov report (development 21352-4be8729) Lines: 1315 1395 94.3 %
Date: 2017-11-23 06:21:03 Functions: 133 135 98.5 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
lfun_get_dom 0
vecan_n_cmul 0
Rtor 7
lfunthetacost0 14
lfunthetaspec 14
residues_known 21
lfun_get_bitprec 42
lfuncost0 42
lfunzeros 42
sersplit1 42
lfuncost 77
checkconductor 84
lfunconductor 84
parse_maxcond 84
vecpowuu 105
derivnser 112
znchargauss 112
znchargauss_i 112
der_level 196
ser_coeff0 196
lfunthetainit 238
lfuninit0 378
lfuncenterinit 385
gammafrac 399
lfunorderzero 413
lfunan 658
lfunlambda 770
lfunrootres 812
theta_pole_contrib 931
lfunlambda0 1127
lfunderiv 1176
lfun_genproduct 1377
lfuninit_vecc2 1393
powersshift 1393
simple_pole 1449
normalize_simple_pole 1456
lfuninit_vecc2_sum 1512
ldata_isreal 1734
rtoR 1750
lfunlambdaord 1771
lfunrtopoles 1813
normalizepoles 1932
lfunprod_get_fact 1937
fracgammadegree 2121
gammaordinary 2156
lfunrootno 2170
get_eno 2177
ropm1 2177
wrap2 2194
lfuninit_vecc_sum 2366
lfuncheckfeq 2485
lfun 2541
theta_add_polar_part 2618
gamma_C 2709
lfun0 3010
lfun_OK 3276
lfun_get_factgammavec 3276
lfunsumcoth 3309
lfun_init_theta 3738
lfuninit_vecc 3738
lfunparams2 3738
lfunparams 3815
lfuninit_pol 3878
lfun_get_Residue 4191
lfunpoleresidue 4191
ldata_get_type 4277
lfuninit_make 4445
get_domain 4480
theta_dual 4613
deg1ser_shallow 4739
mkvroots 4826
theta_get_K 4826
gamma_R 4991
lfunthetainit_i 5005
theta_get_R 5610
wrap1 6473
veccothderivn 6625
polepart 6688
fracgammaeval 7133
gammafactproduct 7133
polgammaeval 7560
isnegint 7700
gammafactor 8260
lfunthetainit0 8736
mysercoeff 8767
lfunisvgaell 9450
lfunrtoR 9520
lfunrtoR_eno 9548
lfunrtoR_i 9548
lfunhardyzeros 10344
ldata_get_an 10430
ldata_get_degree 10792
lfun_get_expot 10792
lfun_get_w2 10792
lfunhardy 10799
vecpowug 11233
checklfuninit 13165
sdomain_isincl 13165
domain_get_dom 13193
domain_get_der 13543
lfun_get_domain 13585
lfun_get_pol 17293
lfun_get_step 17293
lfuninit 17400
domain_get_bitprec 17680
lfunlambda_OK 18670
ldata_get_dual 21019
theta1 24004
lfun_get_k2 27672
lfuntheta 29786
theta_get_an 29842
parse_dom 30145
theta_get_m 31018
theta_get_tdom 31018
theta_get_sqrtN 33517
lfunthetacheckinit 34322
lfunthetacost 34847
ldata_get_rootno 37866
gammavec_expo 38655
ldata_get_k1 38662
theta_get_bitprec 39727
vecan_nv_cmul 43400
get_cone_fuzz 43569
ldata_get_k 55338
linit_get_type 67347
get_cone 74587
ldata_get_residue 76381
ldata_get_conductor 80618
linit_get_ldata 86420
is_linit 87992
theta2 96534
ldata_get_gammavec 116683
linit_get_tech 125573
get_an 13531224
vecan_cmul 21980252

Generated by: LCOV version 1.11