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 23008-54b2e2f01) Lines: 1037 1066 97.3 %
Date: 2018-09-20 05:37:46 Functions: 95 97 97.9 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
indexlexsort 0
lexsort 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
setbinop 21
modreverse 28
indexvecsort 35
laplace 35
polchebyshev2_eval 35
setsearch 35
setunion 35
ZV_union_shallow 49
polchebyshev1_eval_aux 70
gprec 77
polchebyshev2_eval_aux 91
polrecip 119
RgXQ_reverse 126
check_positive_entries 126
mathilbert 133
gen_indexsort_uniq 147
gtoset 147
stirling1 154
RgV_polint 210
binomial0 210
dirmul 238
stirling 301
ZV_indexsort 413
cmp_RgX_Rg 413
dirdiv 644
polint 658
vecsort0 714
QXQ_reverse 742
matqpascal 1190
polhermite 1428
polhermite_eval 1442
stirling2 1694
dirval 1764
polchebyshev2 2135
polchebyshev1 2156
pollegendre_eval 2163
pollegendre 2184
vecsort 2954
ZV_sort_uniq 3731
polchebyshev 4284
polchebyshev_eval 4333
gen_sort_uniq 6433
closurecmp 7889
indexsort 12186
polint_i 16503
polcyclo_eval 17269
vecbinomial 23158
cmp_RgX 27734
merge_sort_uniq 33677
cmp_prime_ideal 51366
binomialuu 80080
binomial 100093
veccmp 149575
gen_indexsort 169051
cmp_Flx 198810
polcyclo_prime 330765
ZC_union_shallow 362162
ZV_union_shallow_t 362211
ZV_sort_inplace 363244
polcyclo 445281
sort_factor_pol 502487
vecsearch 549647
sort_function 550361
sort 676694
cmp_prime_over_p 701596
triv_sort 708522
ZV_sort 781936
gprec_wtrunc 815579
ZV_search 908684
gen_sortspec_uniq 1009407
merge_factor 1043458
gen_cmp_RgX 1437499
sort_extract 1487893
gen_sort 2189989
gprec_w 2680846
sort_factor 3099266
gprec_wensure 3999725
zv_search 17934488
tablesearch 18853056
gen_search 20708037
gen_sort_inplace 26133228
init_sort 28498876
cmp_small 55516097
gen_sortspec 121940742
cmp_nodata 440383964

Generated by: LCOV version 1.13