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 16624-25b9976) Lines: 993 1032 96.2 %
Date: 2014-06-24 Functions: 87 90 96.7 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 745 912 81.7 %

Function Name Sort by function name Hit count Sort by hit count
QXQ_reverse 335
RgV_polint 20
RgXQ_reverse 25
ZV_indexsort 410
ZV_search 353670
ZV_sort 569480
ZV_sort_uniq 795
ZV_union_shallow 55
binomial 26345
binomialuu 16385
check_positive_entries 100
closurecmp 5635
cmp_RgX 43688
cmp_RgX_Rg 522
cmp_nodata 267981264
cmp_prime_ideal 35105
cmp_prime_over_p 394744
cmp_small 1648054
convol 10
dirdiv 25
dirmul 25
dirval 100
err_reverse 5
gen_cmp_RgX 524604
gen_indexsort 936419
gen_indexsort_uniq 50
gen_search 7624123
gen_setminus 10
gen_sort 1334686
gen_sort_inplace 16956771
gen_sort_uniq 1615
gen_sortspec 81368138
gen_sortspec_uniq 645420
gprec 360
gprec_w 1102040
gprec_wtrunc 9910
gtoset 50
indexlexsort 0
indexsort 3812
indexvecsort 0
init_sort 19229541
laplace 10
lexsort 5
mathilbert 145
matqpascal 260
merge_factor 12813
merge_factor_i 237
merge_sort_uniq 22845
modreverse 25
numtoperm 610
permtonum 610
polchebyshev 3065
polchebyshev1 1570
polchebyshev1_eval 10
polchebyshev1_eval_aux 50
polchebyshev2 1525
polchebyshev2_eval 25
polchebyshev2_eval_aux 65
polchebyshev_eval 3095
polcyclo 18990
polcyclo_eval 9721
polcyclo_prime 15875
polhermite 1020
polhermite_eval 1030
polint 65
polint_i 265
pollegendre 1545
pollegendre_eval 1545
polrecip 10
setbinop 15
setintersect 10
setisset 15
setminus 10
setsearch 35
setunion 10
sort 417353
sort_extract 923068
sort_factor 346838
sort_factor_pol 215323
sort_function 520
stirling 215
stirling1 110
stirling2 1210
tablesearch 542744
vecbinome 6558
veccmp 850
vecsearch 50
vecsort 0
vecsort0 470
zv_search 188774

Generated by: LCOV version 1.9