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.0 lcov report (development 22303-eb3e11d) Lines: 1034 1063 97.3 %
Date: 2018-04-21 06:16: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 796
RgV_polint 210
RgXQ_reverse 49
ZV_indexsort 420
ZV_search 908131
ZV_sort 781803
ZV_sort_inplace 363111
ZV_sort_uniq 3339
ZV_union_shallow 359418
binomial 100093
binomial0 210
binomialuu 76552
check_positive_entries 126
closurecmp 7889
cmp_Flx 198200
cmp_RgX 27573
cmp_RgX_Rg 420
cmp_nodata 440106155
cmp_prime_ideal 49735
cmp_prime_over_p 685191
cmp_small 59582781
convol 7
dirdiv 644
dirmul 238
dirval 1764
err_reverse 7
gen_cmp_RgX 1411268
gen_indexsort 164170
gen_indexsort_uniq 147
gen_search 20680065
gen_setminus 7
gen_sort 2103120
gen_sort_inplace 26132134
gen_sort_uniq 5467
gen_sortspec 121807097
gen_sortspec_uniq 1008532
gprec 77
gprec_w 2666345
gprec_wensure 3565274
gprec_wtrunc 463902
gtoset 147
indexlexsort 0
indexsort 12093
indexvecsort 35
init_sort 28405066
key_search 7
laplace 28
lexsort 0
mathilbert 133
matqpascal 1190
merge_factor 1040672
merge_sort_uniq 33544
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 444670
polcyclo_eval 17234
polcyclo_prime 330607
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 601854
sort_extract 1399924
sort_factor 3092445
sort_factor_pol 496631
sort_function 537257
stirling 301
stirling1 154
stirling2 1694
tablesearch 19035099
triv_sort 708656
vecbinomial 22374
veccmp 149575
vecsearch 536543
vecsort 2954
vecsort0 714
zv_search 18117434

Generated by: LCOV version 1.11