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-bordeaux1.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.8.0 lcov report (development 16937-4bd9b4e) Lines: 995 1036 96.0 %
Date: 2014-10-24 Functions: 86 90 95.6 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 744 914 81.4 %

Function Name Sort by function name Hit count Sort by hit count
QXQ_reverse 434
RgV_polint 28
RgXQ_reverse 28
ZV_indexsort 119
ZV_search 874860
ZV_sort 797230
ZV_sort_uniq 1183
ZV_union_shallow 77
binomial 36946
binomialuu 22988
check_positive_entries 126
closurecmp 7889
cmp_RgX 67635
cmp_RgX_Rg 1162
cmp_nodata 382030642
cmp_prime_ideal 44149
cmp_prime_over_p 453480
cmp_small 7489758
convol 7
dirdiv 28
dirmul 28
dirval 112
err_reverse 7
gen_cmp_RgX 643051
gen_indexsort 1323957
gen_indexsort_uniq 63
gen_search 10788512
gen_setminus 7
gen_sort 1809372
gen_sort_inplace 24214157
gen_sort_uniq 2282
gen_sortspec 116037383
gen_sortspec_uniq 908376
gprec 497
gprec_w 1559449
gprec_wtrunc 13748
gtoset 56
indexlexsort 0
indexsort 5098
indexvecsort 0
init_sort 27349831
laplace 7
lexsort 0
mathilbert 133
matqpascal 357
merge_factor 19334
merge_factor_i 301
merge_sort_uniq 31696
modreverse 28
numtoperm 847
permtonum 847
polchebyshev 4284
polchebyshev1 2184
polchebyshev1_eval 14
polchebyshev1_eval_aux 70
polchebyshev2 2135
polchebyshev2_eval 35
polchebyshev2_eval_aux 91
polchebyshev_eval 4333
polcyclo 27023
polcyclo_eval 13650
polcyclo_prime 22550
polhermite 1428
polhermite_eval 1442
polint 84
polint_i 245
pollegendre 2149
pollegendre_eval 2163
polrecip 7
setbinop 21
setintersect 7
setisset 14
setminus 7
setsearch 35
setunion 7
sort 583974
sort_extract 1233134
sort_factor 415272
sort_factor_pol 239076
sort_function 714
stirling 301
stirling1 154
stirling2 1694
tablesearch 1497306
vecbinome 9002
veccmp 1120
vecsearch 70
vecsort 0
vecsort0 644
zv_search 622040

Generated by: LCOV version 1.9