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 18590-b5f7c1c) Lines: 2302 2495 92.3 %
Date: 2016-02-09 Functions: 136 144 94.4 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1412 1783 79.2 %

Function Name Sort by function name Hit count Sort by hit count
Buchall 1133
Buchall_deg1 357
Buchall_param 2015
FB_aut_perm 1805
FBgen 1805
Fincke_Pohst_ideal 304540
GRHchk 15258
GRHok 392065
SPLIT 270258
Vbase_to_FB 9863
act_arch 499417
addRe_modIm 640346
add_cyclotomic_units 1805
add_principal_part 33172
add_rel 307081
add_rel_i 357050
add_to_fact 13200
already_known 356924
assign_subFB 1917
automorphism_matrices 1658
automorphism_perms 1658
bad_subFB 7996
be_honest 7
bestappr_noer 2995
bnfcompress 7
bnfinit0 889
bnfisprincipal0 231558
bnfisunit 2310
bnfnewprec 14
bnfnewprec_shallow 20
bnftosbnf 7
bnrnewprec 7
bnrnewprec_shallow 0
buchall_end 2022
cache_prime_dec 32607
can_factor 1173212
check_and_build_cycgen 5600
check_and_build_matal 34
class_group_gen 1685
clean_cols 7019
cleanarch 244587
codeprime 49
codeprimes 7
compute_R 2995
compute_invres 1658
compute_multiple_of_R 7348
compute_multiple_of_R_pivot 808572
compute_vecG 1658
dbg_cancelrel 0
dbg_newrel 0
decode_pr_lists 7
decodeprime 49
delete_FB 1805
delete_cache 1805
divide_p 880493
divide_p_elt 615972
divide_p_id 47968
divide_p_quo 216553
exp_OK 1398
expand 0
expandext 33178
extract_full_lattice 1727
fact_ok 208070
factorgen 285388
famat_get_arch_real 1334
famat_to_arch 1502
free_GRHcheck 38888
get_Vbase 254800
get_arch 176396
get_arch_real 6854
get_archclean 66
get_clfu 2022
get_fs 177140
get_log_embed 41390
get_norm_fact 207888
get_norm_fact_primes 592
get_pr_lists 254760
get_random_ideal 2652
get_regulator 27
get_y 598
getfu 1727
idnorm 4257
init_GRHcheck 38888
init_famat 14529
init_red_mod_units 205498
init_rel 1805
init_units 5355
inverse_if_smaller 1419
isprincipal 47628
isprincipalall 254704
isprincipalarch 209124
isprincipalfact 33166
isprincipalfact_or_fail 12
isprincipalforce 0
isprincipalgen 0
isprincipalgenforce 0
low_prec 13584
makecycgen 1393
makematal 27
my_class_group_gen 20
needed_bitprec 1054
neg_row 864
nfbasic_from_sbnf 7
nfcyclotomicunits 1805
nfsign_from_logarch 7266
nfsign_units 6496
not_given 76
nthideal 3316
perm_log_embed 24232
powFBgen 336
powPgen 616
pr_index 9912
pre_allocate 15894
prec_arch 279779
primeneeded 1658
reallocate 1826
recover_partFB 254753
red 2652
red_mod_units 205498
remove_content 2652
rnd_rel 2652
sbnf2bnf 7
scalar_get_arch_real 1316
set_fact 298067
setlg_col 147
shift_G 7830
shift_embed 12029
signunits 7
small_norm 12563
smooth_norm 1079130
split_ideal 253801
step 3500719
store 1348868
subFB_change 427
subFBgen 1805
tailres 29093
tailresback 58186
testprimes 49
trim_list 15558
triv_arch 1458
triv_gen 10038
try_elt 1659
unclone_subFB 1805
wr_rel 0

Generated by: LCOV version 1.9