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 - buch2.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 19230-c71492b) Lines: 2305 2496 92.3 %
Date: 2016-07-30 07:10:28 Functions: 136 144 94.4 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Buchall 1196
Buchall_deg1 427
Buchall_param 2127
FB_aut_perm 1847
FBgen 1847
Fincke_Pohst_ideal 304820
GRHchk 15538
GRHok 421335
SPLIT 272162
Vbase_to_FB 9884
act_arch 501657
addRe_modIm 643454
add_cyclotomic_units 1847
add_principal_part 33802
add_rel 307319
add_rel_i 357323
add_to_fact 13228
already_known 357197
assign_subFB 1959
automorphism_matrices 1700
automorphism_perms 1700
bad_subFB 8171
be_honest 7
bestappr_noer 3044
bnfcompress 7
bnfinit0 938
bnfisprincipal0 233007
bnfisunit 2310
bnfnewprec 14
bnfnewprec_shallow 20
bnftosbnf 7
bnrnewprec 7
bnrnewprec_shallow 0
buchall_end 2134
cache_prime_dec 33279
can_factor 1180268
check_and_build_cycgen 5754
check_and_build_matal 34
class_group_gen 1727
clean_cols 7089
cleanarch 246799
codeprime 49
codeprimes 7
compute_R 3044
compute_invres 1700
compute_multiple_of_R 7425
compute_multiple_of_R_pivot 808397
compute_vecG 1700
dbg_cancelrel 0
dbg_newrel 0
decode_pr_lists 7
decodeprime 49
delete_FB 1847
delete_cache 1847
divide_p 880577
divide_p_elt 616021
divide_p_id 48045
divide_p_quo 216511
exp_OK 1433
expand 0
expandext 33808
extract_full_lattice 1769
fact_ok 209974
factorgen 290372
famat_get_arch_real 1334
famat_to_arch 1523
free_GRHcheck 42649
get_Vbase 256704
get_arch 177642
get_arch_real 6854
get_archclean 66
get_clfu 2134
get_fs 179870
get_log_embed 41677
get_norm_fact 209792
get_norm_fact_primes 592
get_pr_lists 256664
get_random_ideal 2659
get_regulator 27
get_y 598
getfu 1769
idnorm 4320
init_GRHcheck 42649
init_famat 14578
init_red_mod_units 206226
init_rel 1847
init_units 5509
inverse_if_smaller 1440
isprincipal 47628
isprincipalall 256608
isprincipalarch 211028
isprincipalfact 33796
isprincipalfact_or_fail 12
isprincipalforce 0
isprincipalgen 0
isprincipalgenforce 0
low_prec 13584
makecycgen 1463
makematal 27
my_class_group_gen 20
needed_bitprec 1054
neg_row 864
nfbasic_from_sbnf 7
nfcyclotomicunits 1847
nfsign_from_logarch 7280
nfsign_units 6650
not_given 76
nthideal 3400
perm_log_embed 24295
powFBgen 336
powPgen 616
pr_index 9933
pre_allocate 15971
prec_arch 282292
primeneeded 1700
reallocate 1868
recover_partFB 256657
red 2659
red_mod_units 206226
remove_content 2659
rnd_rel 2659
sbnf2bnf 7
scalar_get_arch_real 1316
set_fact 298193
setlg_col 147
shift_G 7956
shift_embed 12204
signunits 7
small_norm 12633
smooth_norm 1084366
split_ideal 255705
step 3517904
store 1348329
subFB_change 427
subFBgen 1847
tailres 29751
tailresback 59502
testprimes 49
trim_list 15635
triv_arch 1493
triv_gen 10213
try_elt 1659
unclone_subFB 1847
wr_rel 0

Generated by: LCOV version 1.11