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 17853-438d50d) Lines: 2280 2492 91.5 %
Date: 2015-05-29 Functions: 135 144 93.8 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1392 1779 78.2 %

Function Name Sort by function name Hit count Sort by hit count
Buchall 923
Buchall_deg1 105
Buchall_param 1693
FB_aut_perm 1728
FBgen 1728
Fincke_Pohst_ideal 303166
GRHchk 14698
GRHok 109359
SPLIT 230606
Vbase_to_FB 10067
act_arch 460688
addRe_modIm 567327
add_cyclotomic_units 1728
add_principal_part 14715
add_rel 439676
add_rel_i 485811
add_to_fact 11780
already_known 485685
assign_subFB 1805
automorphism_matrices 1588
automorphism_perms 1588
bad_subFB 7646
be_honest 7
bestappr_noer 2997
bnfcompress 7
bnfinit0 777
bnfisprincipal0 207947
bnfisunit 2205
bnfnewprec 14
bnfnewprec_shallow 27
bnftosbnf 7
bnrnewprec 7
bnrnewprec_shallow 0
buchall_end 1700
cache_prime_dec 31382
can_factor 1249775
check_and_build_cycgen 4970
check_and_build_matal 41
class_group_gen 1622
clean_cols 5166
cleanarch 205950
codeprime 49
codeprimes 7
compute_R 2997
compute_invres 1588
compute_multiple_of_R 5481
compute_multiple_of_R_pivot 90247
compute_vecG 1588
cyclotomic_units 1728
dbg_cancelrel 0
dbg_newrel 0
decode_pr_lists 7
decodeprime 49
delete_FB 1728
delete_cache 1728
divide_p 1144367
divide_p_elt 878445
divide_p_id 46583
divide_p_quo 219339
exp_OK 1342
expand 0
expandext 14729
extract_full_lattice 1657
fact_ok 169318
factorgen 261723
famat_get_arch_real 1285
famat_to_arch 1630
free_GRHcheck 6712
get_Vbase 215078
get_arch 157760
get_arch_real 6616
get_archclean 80
get_clfu 1700
get_fs 169636
get_log_embed 38221
get_norm_fact 168243
get_norm_fact_primes 1530
get_pr_lists 215024
get_random_ideal 1035
get_regulator 34
get_y 1544
getfu 1657
idnorm 4236
init_GRHcheck 6712
init_famat 13073
init_red_mod_units 168219
init_rel 1728
init_units 4746
inverse_if_smaller 1412
isprincipal 47537
isprincipalall 214968
isprincipalarch 170410
isprincipalfact 14686
isprincipalfact_or_fail 43
isprincipalforce 0
isprincipalgen 0
isprincipalgenforce 0
low_prec 12800
makecycgen 1085
makematal 34
my_class_group_gen 27
needed_bitprec 1092
neg_row 920
nfbasic_from_sbnf 7
nfsign_from_logarch 7336
nfsign_units 5887
not_given 69
nthideal 3176
perm_log_embed 19126
powFBgen 287
powPgen 546
pr_index 10116
pre_allocate 14587
prec_arch 222263
primeneeded 1588
reallocate 1728
recover_partFB 215017
red 1035
red_mod_units 168219
remove_content 1035
rnd_rel 1035
sbnf2bnf 7
scalar_get_arch_real 1323
set_fact 431047
setlg_col 154
shift_G 7361
shift_embed 11266
signunits 7
small_norm 12838
smooth_norm 1196713
split_ideal 214149
step 4200178
store 1877885
subFB_change 105
subFBgen 1728
tailres 27882
tailresback 55764
testprimes 49
trim_list 14300
triv_arch 1514
triv_gen 7721
try_elt 0
unclone_subFB 1728
wr_rel 0

Generated by: LCOV version 1.9