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 - basemath - buch2.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 16624-25b9976) Lines: 2183 2434 89.7 %
Date: 2014-06-24 Functions: 132 141 93.6 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1350 1759 76.7 %

Function Name Sort by function name Hit count Sort by hit count
Buchall 515
Buchall_deg1 55
Buchall_param 1080
FB_aut_perm 1125
FBgen 1125
Fincke_Pohst_ideal 250587
GRHchk 9350
GRHok 74630
SPLIT 197213
Vbase_to_FB 6449
act_arch 427214
addRe_modIm 505927
add_cyclotomic_units 1125
add_principal_part 10085
add_rel 828699
add_rel_i 860898
add_to_fact 8055
already_known 860828
assign_subFB 1188
automorphism_matrices 1025
automorphism_perms 1025
bad_subFB 5025
be_honest 10
bestappr_noer 1976
bnfcompress 10
bnfinit0 535
bnfisprincipal0 183952
bnfisunit 1510
bnfnewprec 10
bnfnewprec_shallow 10
bnftosbnf 10
bnrnewprec 5
bnrnewprec_shallow 0
buchall_end 1090
cache_prime_dec 19945
can_factor 1498886
check_and_build_cycgen 3333
check_and_build_matal 30
class_group_gen 1045
clean_cols 3667
cleanarch 180202
codeprime 70
codeprimes 10
compute_R 1976
compute_invres 1125
compute_multiple_of_R 3832
compute_multiple_of_R_pivot 70469
compute_vecG 1025
cyclotomic_units 1125
dbg_cancelrel 0
dbg_newrel 0
decode_pr_lists 10
decodeprime 70
delete_FB 1125
delete_cache 1125
divide_p 1849930
divide_p_elt 1643665
divide_p_id 32118
divide_p_quo 174147
exp_OK 948
expand 0
expandext 10085
extract_full_lattice 1113
fact_ok 156163
factorgen 265938
famat_get_arch_real 915
famat_to_arch 1076
free_GRHcheck 4390
get_Vbase 189553
get_arch 148188
get_arch_real 4677
get_archclean 40
get_clfu 1090
get_fs 81825
get_log_embed 28942
get_norm_fact 156163
get_norm_fact_primes 295
get_pr_lists 189533
get_random_ideal 789
get_regulator 20
get_y 295
getfu 1113
idnorm 2916
init_GRHcheck 4390
init_famat 8412
init_red_mod_units 155468
init_rel 1125
init_units 3248
inverse_if_smaller 972
isprincipal 33930
isprincipalall 189498
isprincipalarch 156898
isprincipalfact 10085
isprincipalfact_or_fail 0
isprincipalforce 0
isprincipalgen 5
isprincipalgenforce 0
low_prec 9154
makecycgen 645
makematal 20
my_class_group_gen 10
needed_bitprec 735
neg_row 620
nfbasic_from_sbnf 10
nfsign_from_logarch 5126
nfsign_units 4063
not_given 93
nthideal 2050
perm_log_embed 14802
powFBgen 197
powPgen 373
pr_index 6519
pre_allocate 10510
prec_arch 189573
reallocate 1125
recover_partFB 189523
red 789
red_mod_units 155468
remove_content 789
rnd_rel 789
sbnf2bnf 10
scalar_get_arch_real 935
set_fact 822844
setlg_col 97
shift_G 4650
shift_embed 7035
signunits 10
small_norm 9344
smooth_norm 1448749
split_ideal 188923
step 5067680
store 3401417
subFB_change 81
subFBgen 1125
testprimes 25
trim_list 10313
triv_arch 1047
triv_gen 4539
try_elt 0
unclone_subFB 1125
wr_rel 0

Generated by: LCOV version 1.9