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 - gplib.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.18.0 lcov report (development 29806-4d001396c7) Lines: 572 1020 56.1 %
Date: 2024-12-21 09:08:57 Functions: 68 103 66.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
_cat 0
ack_debug 56
ack_setdebug 42
atocolor 0
brace_color 0
chron 557
closure_alarmer 121
cmp_epname 7
color_prompt 0
commands 7
community 0
compare_str 173
convert_time 13
cut_trailing_garbage 113
default_help 21
digit_help 7
err_gprc 0
escape 470
external_help 0
filter_quotes 0
filtered_buffer 1936
gentypes 7
get_home 4
get_line_from_file 140628
get_name 133
get_preproc_value 4
gp_alarm 121
gp_alarm_fun 6
gp_alarm_handler 12
gp_allocatemem 84
gp_classic_output 4
gp_display_hist 59484
gp_echo_and_log 117948
gp_format_prompt 7664
gp_format_time 0
gp_handle_exception 12739
gp_help 155
gp_initrc 4
gp_input 7
gp_load_gprc 0
gp_meta 942363
gp_read_line 140445
gp_sigint_fun 0
gphelp_keyword_list 0
gprc_chk 12
gprc_get 4
has_ext_help 13
help 155
is_interactive 258393
kill_buffers_upto 15025
kill_buffers_upto_including 0
member_commands 7
menu_commands 7
next_expr 12
nl_read 0
ok_external_help 0
pari_alarm 117398
pari_breakpoint 7
pari_center 32
pari_community 2
pari_hit_return 0
pari_init_buffers 1872
pari_print_version 6
pari_skip_alpha 0
pari_skip_space 28
parse_key_val 18
parse_key_val_paren 0
pop_buffer 1936
prettyp_GEN 0
prettyp_init 0
prettyp_output 0
prettyp_wait 0
print_all_user_obj 7
print_fun_list 7
read_dot_uint 0
read_uint 0
read_version 0
readline_prompt_color 0
sd_breakloop 7
sd_echo 186
sd_graphcolormap 4
sd_graphcolors 4
sd_help 0
sd_histfile 4
sd_lines 6
sd_linewrap 0
sd_plothsizes 35
sd_prompt 0
sd_prompt_cont 0
sd_prompt_set 0
sd_psfile 0
sd_readline 0
sd_recover 0
sd_timer 2
simple_help 39
slash_commands 7
str_display_hist 4
str_lim_lines 2
strip_prompt 0
strtime 7
update_logfile 6843
what_cc 6
what_readline 6

Generated by: LCOV version 1.16