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 16827-3d78da8) Lines: 996 1036 96.1 %
Date: 2014-09-29 Functions: 87 90 96.7 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 746 914 81.6 %

Function Name Sort by function name Hit count Sort by hit count
QXQ_reverse 455
RgV_polint 28
RgXQ_reverse 35
ZV_indexsort 189
ZV_search 495138
ZV_sort 797272
ZV_sort_uniq 1113
ZV_union_shallow 77
binomial 36904
binomialuu 22960
check_positive_entries 140
closurecmp 7889
cmp_RgX 61692
cmp_RgX_Rg 721
cmp_nodata 381986983
cmp_prime_ideal 44352
cmp_prime_over_p 457994
cmp_small 2287005
convol 14
dirdiv 35
dirmul 35
dirval 140
err_reverse 7
gen_cmp_RgX 639610
gen_indexsort 1325244
gen_indexsort_uniq 70
gen_search 10788316
gen_setminus 14
gen_sort 1813413
gen_sort_inplace 24205218
gen_sort_uniq 2261
gen_sortspec 116039135
gen_sortspec_uniq 903588
gprec 504
gprec_w 1564748
gprec_wtrunc 13874
gtoset 70
indexlexsort 0
indexsort 5307
indexvecsort 0
init_sort 27346206
laplace 14
lexsort 7
mathilbert 196
matqpascal 364
merge_factor 18046
merge_factor_i 301
merge_sort_uniq 31948
modreverse 35
numtoperm 854
permtonum 854
polchebyshev 4291
polchebyshev1 2198
polchebyshev1_eval 14
polchebyshev1_eval_aux 70
polchebyshev2 2135
polchebyshev2_eval 35
polchebyshev2_eval_aux 91
polchebyshev_eval 4333
polcyclo 26974
polcyclo_eval 13692
polcyclo_prime 22515
polhermite 1428
polhermite_eval 1442
polint 91
polint_i 371
pollegendre 2163
pollegendre_eval 2163
polrecip 14
setbinop 21
setintersect 14
setisset 21
setminus 14
setsearch 49
setunion 14
sort 583795
sort_extract 1237166
sort_factor 415815
sort_factor_pol 239841
sort_function 728
stirling 301
stirling1 154
stirling2 1694
tablesearch 741838
vecbinome 9310
veccmp 1190
vecsearch 70
vecsort 0
vecsort0 658
zv_search 246280

Generated by: LCOV version 1.9