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 - bibli2.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.12.0 lcov report (development 23353-42c433a02) Lines: 1086 1130 96.1 %
Date: 2018-12-15 05:41:59 Functions: 101 106 95.3 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
indexlexsort 0
lexsort 0
polhermite_eval 0
pollaguerre_eval 0
pollegendre_eval 0
convol 7
err_reverse 7
gen_setminus 7
key_search 7
setintersect 7
setminus 7
polchebyshev1_eval 14
pollaplace 14
serlaplace 14
setisset 14
err_hermite 21
err_lag 21
setbinop 21
modreverse 28
laplace 35
polchebyshev2_eval 35
setsearch 35
setunion 35
indexvecsort 42
ZV_union_shallow 49
polchebyshev1_eval_aux 70
gprec 84
polchebyshev2_eval_aux 91
check_positive_entries 126
mathilbert 133
gen_indexsort_uniq 154
stirling1 154
RgXQ_reverse 189
polrecip 189
RgV_polint 210
binomial0 210
dirmul 238
stirling 301
polint 315
ZV_indexsort 413
cmp_RgX_Rg 420
dirdiv 651
vecsort0 714
QXQ_reverse 994
matqpascal 1190
polhermite 1442
polhermite_eval0 1477
stirling2 1694
dirval 1778
pollaguerre 2128
polchebyshev2 2135
polchebyshev1 2156
pollaguerre_eval0 2163
pollegendre_eval0 2177
pollegendre 2198
vecsort 2954
ZV_sort_uniq 3836
polchebyshev 4284
polchebyshev_eval 4333
closurecmp 7889
indexsort 15490
check_dy 16125
polint_i 16160
inC 16776
polcyclo_eval 19362
vecbinomial 23480
cmp_RgX 28147
merge_sort_uniq 35017
cmp_prime_ideal 67214
binomialuu 80185
binomial 100093
gtoset 140147
gen_sort_uniq 146615
cmp_Flx 199734
gen_indexsort 246233
veccmp 295118
polcyclo_prime 347558
ZC_union_shallow 362162
ZV_union_shallow_t 362211
ZV_sort_inplace 363251
polcyclo 473505
sort_factor_pol 510858
vecsearch 549647
sort_function 550361
sort 678878
triv_sort 713932
cmp_prime_over_p 749922
ZV_sort 781950
gprec_wtrunc 856732
ZV_search 908292
merge_factor 1045572
gen_sortspec_uniq 1254400
gen_cmp_RgX 1455787
sort_extract 1665933
gen_sort 2233248
gprec_w 2768295
sort_factor 3137495
gprec_wensure 4084724
zv_search 18117080
tablesearch 19035291
gen_search 20708065
gen_sort_inplace 26138575
init_sort 28764853
cmp_small 55896320
gen_sortspec 122136153
cmp_nodata 440826285

Generated by: LCOV version 1.13