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 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.10.1 lcov report (development 22726-9e20c6a88) Lines: 1034 1063 97.3 %
Date: 2018-06-23 05:36:28 Functions: 93 95 97.9 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
QXQ_reverse 742
RgV_polint 210
RgXQ_reverse 112
ZV_indexsort 413
ZV_search 908670
ZV_sort 781936
ZV_sort_inplace 363230
ZV_sort_uniq 3724
ZV_union_shallow 362204
binomial 100093
binomial0 210
binomialuu 80080
check_positive_entries 126
closurecmp 7889
cmp_Flx 198810
cmp_RgX 27727
cmp_RgX_Rg 413
cmp_nodata 440304260
cmp_prime_ideal 51345
cmp_prime_over_p 701476
cmp_small 55673059
convol 7
dirdiv 644
dirmul 238
dirval 1764
err_reverse 7
gen_cmp_RgX 1437491
gen_indexsort 168925
gen_indexsort_uniq 147
gen_search 20707113
gen_setminus 7
gen_sort 2115885
gen_sort_inplace 26132977
gen_sort_uniq 6426
gen_sortspec 121863957
gen_sortspec_uniq 1009386
gprec 77
gprec_w 2677945
gprec_wensure 3565421
gprec_wtrunc 695652
gtoset 147
indexlexsort 0
indexsort 12144
indexvecsort 35
init_sort 28424388
key_search 7
laplace 28
lexsort 0
mathilbert 133
matqpascal 1190
merge_factor 1043458
merge_sort_uniq 33656
modreverse 28
polchebyshev 4284
polchebyshev1 2156
polchebyshev1_eval 14
polchebyshev1_eval_aux 70
polchebyshev2 2135
polchebyshev2_eval 35
polchebyshev2_eval_aux 91
polchebyshev_eval 4333
polcyclo 444868
polcyclo_eval 17262
polcyclo_prime 330520
polhermite 1428
polhermite_eval 1442
polint 658
polint_i 16503
pollaplace 14
pollegendre 2184
pollegendre_eval 2163
polrecip 119
serlaplace 14
setbinop 21
setintersect 7
setisset 14
setminus 7
setsearch 35
setunion 35
sort 602683
sort_extract 1413783
sort_factor 3099189
sort_factor_pol 502432
sort_function 550361
stirling 301
stirling1 154
stirling2 1694
tablesearch 18860023
triv_sort 708521
vecbinomial 23018
veccmp 149575
vecsearch 549647
vecsort 2954
vecsort0 714
zv_search 17941469

Generated by: LCOV version 1.13