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 17110-9967e23) Lines: 995 1036 96.0 %
Date: 2014-11-26 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 320
RgV_polint 20
RgXQ_reverse 20
ZV_indexsort 85
ZV_search 624900
ZV_sort 569460
ZV_sort_uniq 845
ZV_union_shallow 55
binomial 26355
binomialuu 16390
check_positive_entries 90
closurecmp 5635
cmp_RgX 61726
cmp_RgX_Rg 1210
cmp_nodata 258188647
cmp_prime_ideal 34219
cmp_prime_over_p 289055
cmp_small 5356342
convol 5
dirdiv 20
dirmul 20
dirval 80
err_reverse 5
gen_cmp_RgX 507002
gen_indexsort 919804
gen_indexsort_uniq 45
gen_search 7706080
gen_setminus 5
gen_sort 1297749
gen_sort_inplace 16319649
gen_sort_uniq 1665
gen_sortspec 78160593
gen_sortspec_uniq 648870
gprec 355
gprec_w 1135617
gprec_wtrunc 9820
gtoset 40
indexlexsort 0
indexsort 3471
indexvecsort 0
init_sort 18538912
laplace 5
lexsort 0
mathilbert 95
matqpascal 255
merge_factor 13870
merge_factor_i 205
merge_sort_uniq 22995
modreverse 20
numtoperm 605
permtonum 605
polchebyshev 3060
polchebyshev1 1560
polchebyshev1_eval 10
polchebyshev1_eval_aux 50
polchebyshev2 1525
polchebyshev2_eval 25
polchebyshev2_eval_aux 65
polchebyshev_eval 3095
polcyclo 19408
polcyclo_eval 9755
polcyclo_prime 16223
polhermite 1020
polhermite_eval 1030
polint 60
polint_i 175
pollegendre 1535
pollegendre_eval 1545
polrecip 5
setbinop 15
setintersect 5
setisset 10
setminus 5
setsearch 25
setunion 5
sort 415371
sort_extract 839949
sort_factor 322639
sort_factor_pol 183752
sort_function 510
stirling 215
stirling1 110
stirling2 1210
tablesearch 1073547
vecbinome 7950
veccmp 800
vecsearch 50
vecsort 0
vecsort0 460
zv_search 448302

Generated by: LCOV version 1.9