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-bordeaux1.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 - language - anal.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 17771-d5ace09) Lines: 534 676 79.0 %
Date: 2015-04-25 Functions: 84 87 96.6 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 300 500 60.0 %

Function Name Sort by function name Hit count Sort by hit count
_given_value 2891
_higher 49
_lower 42
addhelp 56
alias0 28
andpari 165536
chartoGENstr 56
check_name 14
check_proto 1165024
cmp_by_var 5059
cmp_epname 7
compile_str 9793
delete_var 46654
do_alias 4934769
eval_mnemonic 0
exponent 75229
fetch_entry 2618
fetch_entry_raw 4906447
fetch_user_var 2492
fetch_var 28678
fetch_var_higher 19250
fetch_var_value 7
fill_hashtable_single 1173732
findentry 4948995
gadd1e 3160262
gadde 29890
gdive 7
gdivente 7
gdivrounde 7
gmode 7
gmule 79877
gp_read_str 0
gpolvar 518
gshift_right 1392
gshiftle 7
gshiftre 7
gsub1e 14
gsube 15171471
hashvalue 1173732
hashvalue_raw 4948995
ifpari 12769624
ifpari_multi 12355
ifpari_void 16323797
initep 18718
insertep 1192401
install 14
int_read 6891991
int_read_more 554287
is_entry 40260
kill0 21
killep 2828
name_var 84
number 8491397
orpari 2396940
pari_add_function 0
pari_fill_hashtable 4984
pari_is_default 2288
pari_lex 25747911
pari_var_close 1246
pari_var_create 11060
pari_var_init 1246
pari_var_next 84
pari_var_next_temp 126
print_all_user_fun 7
readseq 3339
real_0_digits 168
real_read 80589
skipconstante 6741287
skipdigits 6743366
skipexponent 6740832
skipstring 1033039
strntoGENstr 135199
strtoGENstr 58850
strtoi 6811402
strtor 80589
type0 14847
u_pow10 1524177
var_register 49
varentries_reset 133
varentries_set 6895
varentries_unset 9548
varhigher 42
varlower 28
vars_sort_inplace 147
vars_to_RgXV 147
varstate_restore 6573
varstate_save 58086

Generated by: LCOV version 1.9