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.8.0 lcov report (development 19361-ac4f238) Lines: 1033 1069 96.6 %
Date: 2016-08-28 06:11:39 Functions: 92 96 95.8 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
QXQ_reverse 560
RgV_polint 28
RgXQ_reverse 28
ZV_indexsort 448
ZV_search 894236
ZV_sort 1141189
ZV_sort_uniq 2184
ZV_union_shallow 295907
Z_to_perm 9492
binomial 99967
binomialuu 74032
check_positive_entries 126
closurecmp 7889
cmp_Flx 125368
cmp_RgX 90497
cmp_RgX_Rg 2576
cmp_nodata 379478003
cmp_prime_ideal 38307
cmp_prime_over_p 604399
cmp_small 51147701
convol 7
dirdiv 518
dirmul 133
dirval 1302
err_reverse 7
gen_cmp_RgX 940000
gen_indexsort 1329290
gen_indexsort_uniq 126
gen_search 14044674
gen_setminus 7
gen_sort 2411355
gen_sort_inplace 23234827
gen_sort_uniq 4914
gen_sortspec 113841836
gen_sortspec_uniq 973322
gprec 217
gprec_w 2100731
gprec_wtrunc 22302
gtoset 896
indexlexsort 0
indexsort 5081
indexvecsort 0
init_sort 26980512
laplace 21
lexsort 0
mathilbert 133
matqpascal 1057
merge_factor 911795
merge_factor_i 322
merge_sort_uniq 32403
modreverse 28
numtoperm 9492
perm_to_Z 840
perm_to_Z_inplace 6020
permtonum 6027
polchebyshev 4284
polchebyshev1 2156
polchebyshev1_eval 14
polchebyshev1_eval_aux 70
polchebyshev2 2135
polchebyshev2_eval 35
polchebyshev2_eval_aux 91
polchebyshev_eval 4333
polcyclo 40037
polcyclo_eval 14385
polcyclo_prime 35290
polhermite 1428
polhermite_eval 1442
polint 368
polint_i 417
pollaplace 14
pollegendre 2184
pollegendre_eval 2163
polrecip 62118
serlaplace 7
setbinop 21
setintersect 7
setisset 14
setminus 7
setsearch 105903
setunion 21
sort 589791
sort_extract 1692522
sort_factor 2796911
sort_factor_pol 422541
sort_function 742
stirling 301
stirling1 154
stirling2 1694
tablesearch 16224472
vecbinome 13979
veccmp 1120
vecsearch 70
vecsort 0
vecsort0 672
zv_search 15327891

Generated by: LCOV version 1.11