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 - bibli2.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.0 lcov report (development 20783-cec4728) Lines: 1051 1079 97.4 %
Date: 2017-06-28 05:59:20 Functions: 95 97 97.9 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
QXQ_reverse 644
RgV_polint 210
RgXQ_reverse 35
ZV_indexsort 413
ZV_search 917231
ZV_sort 781970
ZV_sort_inplace 363020
ZV_sort_uniq 2905
ZV_union_shallow 300450
Z_to_perm 5915
binomial 99981
binomial0 210
binomialuu 75817
check_positive_entries 126
closurecmp 7889
cmp_Flx 175483
cmp_RgX 23256
cmp_RgX_Rg 308
cmp_nodata 367783389
cmp_prime_ideal 49195
cmp_prime_over_p 686907
cmp_small 53161922
convol 7
dirdiv 637
dirmul 189
dirval 1652
err_reverse 7
gen_cmp_RgX 1195117
gen_indexsort 1378459
gen_indexsort_uniq 126
gen_search 15262786
gen_setminus 7
gen_sort 2103175
gen_sort_inplace 22479288
gen_sort_uniq 4900
gen_sortspec 108637155
gen_sortspec_uniq 956942
gprec 182
gprec_w 2349016
gprec_wtrunc 349260
gtoset 147
indexlexsort 0
indexsort 11546
indexvecsort 35
init_sort 25965948
laplace 21
lexsort 0
mathilbert 133
matqpascal 1148
merge_factor 919019
merge_sort_uniq 33075
modreverse 28
numtoperm 5915
perm_to_Z 840
perm_to_Z_inplace 1701
permtonum 1708
polchebyshev 4284
polchebyshev1 2156
polchebyshev1_eval 14
polchebyshev1_eval_aux 70
polchebyshev2 2135
polchebyshev2_eval 35
polchebyshev2_eval_aux 91
polchebyshev_eval 4333
polcyclo 225184
polcyclo_eval 17185
polcyclo_prime 210248
polhermite 1428
polhermite_eval 1442
polint 658
polint_i 16503
pollaplace 14
pollegendre 2184
pollegendre_eval 2163
polrecip 112
serlaplace 7
setbinop 21
setintersect 7
setisset 14
setminus 7
setsearch 35
setunion 35
sort 601495
sort_extract 1401388
sort_factor 2869492
sort_factor_pol 473364
sort_function 1324694
stirling 301
stirling1 154
stirling2 1694
tablesearch 16804238
vecbinomial 16445
veccmp 147153
vecsearch 1324036
vecsort 56
vecsort0 658
zv_search 15882443

Generated by: LCOV version 1.11