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 - language - anal.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.12.0 lcov report (development 23008-54b2e2f01) Lines: 606 656 92.4 %
Date: 2018-09-20 05:37:46 Functions: 97 102 95.1 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
check_name 0
gp_read_str 0
install 0
pari_add_function 0
pari_var_next_temp 0
fetch_var_value 7
gdivente 7
gdivrounde 7
gmode 7
gshiftle 7
gshiftre 7
gsub1e 14
kill0 14
killep 14
alias0 28
bin_read 28
eval_mnemonic 28
hex_read 28
varlower 28
bin_number_len 38
_lower 42
addhelp 42
_higher 49
hex_number_len 54
binary_read 56
gdive 56
strtobin_len 56
varhigher 77
var_register 84
vars_to_RgXV 154
real_0_digits 175
name_var 252
pari_var_next 252
varentries_reset 336
IS_ID 380
gpolvar 987
vars_sort_inplace 994
pari_is_default 1245
gshift_right 1392
pari_isbdigit 1484
pari_var_close 1542
pari_var_init 1552
real_read_more 2552
_given_value 3143
pari_fill_hashtable 4646
readseq 4767
readseq_i 4767
cmp_by_var 5136
varentries_set 8438
varstate_restore 8882
compile_str 10738
pari_pthread_init_varstate 11138
varentries_unset 12144
type0 23527
initep 27060
pari_var_create 28619
ifpari_multi 31283
fetch_var_higher 34857
fetch_var 44095
delete_var 75475
exponent 75551
gmule 79933
real_read 83701
strtor 83701
varstate_save 106794
pari_thread_init_varstate 111427
var_restore 120290
andpari 268744
is_entry 294672
chartoGENstr 342045
strtoGENstr 350735
fetch_user_var 386242
fetch_entry 386340
strntoGENstr 465373
dec_read_more 922843
dec_strtoi_len 922843
skipstring 1108019
check_proto 1853028
fill_hashtable_single 1870100
hashvalue 1870100
insertep 1897076
gadde 2648566
dec_number_len 3473572
do_alias 6125632
fetch_entry_raw 6242487
findentry 6538404
hashvalue_raw 6538404
skipexponent 7692776
skipconstante 7693675
skipdigits 7696843
int_read 7814954
strtoi 7814954
dec_read 7901151
number 7976702
ifpari 12855428
gsube 15455356
orpari 16420103
gadd1e 25675244
pari_lex 29212602
ishex 35416204
isbin 35416253
ifpari_void 39977148

Generated by: LCOV version 1.13