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 21921-ca7d0c8) Lines: 1322 1402 94.3 %
Date: 2018-02-20 06:16:13 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
checkconductor 84
lfunconductor 84
parse_maxcond 84
derivnser 112
vecpowuu 112
ser_coeff0 210
lfunthetainit 245
lfuninit0 385
lfuncenterinit 392
gammafrac 399
lfunorderzero 420
znchargauss 553
znchargauss_i 553
lfunlambda 784
lfunan 805
theta_pole_contrib 931
der_level 1058
lfunrootres 1085
lfunlambda0 1155
lfunderiv 1204
lfunlambda_product 1377
simple_pole 1687
normalize_simple_pole 1694
ldata_isreal 1741
lfunlambdaord 1799
lfuninit_vecc2 1890
powersshift 1890
lfunprod_get_fact 1937
rtoR 1988
lfuninit_vecc2_sum 2009
lfunrtopoles 2051
normalizepoles 2170
wrap2 2194
fracgammadegree 2359
lfuninit_vecc_sum 2387
lfunrootno 2450
get_eno 2457
ropm1 2457
lfuncheckfeq 2499
theta_add_polar_part 2898
lfun 3045
lfun0 3073
lfunsumcoth 3316
lfun_OK 3794
lfun_get_factgammavec 3794
gammaordinary 3850
gamma_C 3864
lfun_get_Residue 4205
lfunpoleresidue 4205
lfun_init_theta 4256
lfuninit_vecc 4256
lfunparams2 4256
lfuninit_pol 4396
mkvroots 4847
theta_get_K 4847
theta_dual 4907
lfuninit_make 4963
get_domain 5026
deg1ser_shallow 5243
ldata_get_type 5243
lfunthetainit_i 5495
theta_get_R 5855
gamma_R 6286
wrap1 6473
veccothderivn 6639
polepart 6702
mysercoeff 8809
fracgammaeval 9555
gammafactproduct 9555
lfunthetainit0 9744
polgammaeval 9982
isnegint 10150
lfunisvgaell 10304
lfuncost 10344
lfunhardyzeros 10344
gammafactor 10682
lfunrtoR 10801
lfun_get_expot 10806
lfun_get_w2 10806
lfunhardy 10813
lfunrtoR_eno 10829
lfunrtoR_i 10829
ldata_get_degree 11030
vecpowug 11275
ldata_get_an 12047
checklfuninit 13221
sdomain_isincl 13221
domain_get_der 13606
lfunparams 14600
lfun_get_pol 17853
lfun_get_step 17853
lfuninit 17974
domain_get_bitprec 18254
lfunlambda_OK 19230
ldata_get_dual 22531
theta1 24445
lfun_get_k2 28239
lfuntheta 30563
theta_get_an 30619
domain_get_dom 31102
lfun_get_domain 31501
theta_get_m 31613
theta_get_tdom 31613
theta_get_sqrtN 34812
lfunthetacheckinit 35393
lfunthetacost 35939
theta_get_bitprec 40322
ldata_get_rootno 40764
vecan_nv_cmul 43400
get_cone_fuzz 45669
gammavec_expo 50532
ldata_get_k1 50539
linit_get_type 68614
parse_dom 76748
get_cone 77282
ldata_get_k 80093
ldata_get_residue 90904
linit_get_ldata 99718
is_linit 102641
ldata_get_conductor 107445
theta2 113075
linit_get_tech 128891
ldata_get_gammavec 145414
get_an 13536348
vecan_cmul 23235093

Generated by: LCOV version 1.11