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 18946-c0ba5ba) Lines: 2307 2495 92.5 %
Date: 2016-05-25 Functions: 136 144 94.4 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1413 1777 79.5 %

Function Name Sort by function name Hit count Sort by hit count
Buchall 1196
Buchall_deg1 427
Buchall_param 2113
FB_aut_perm 1833
FBgen 1833
Fincke_Pohst_ideal 304666
GRHchk 15426
GRHok 392233
SPLIT 272134
Vbase_to_FB 9884
act_arch 501433
addRe_modIm 643076
add_cyclotomic_units 1833
add_principal_part 33774
add_rel 307368
add_rel_i 357435
add_to_fact 13228
already_known 357309
assign_subFB 1945
automorphism_matrices 1686
automorphism_perms 1686
bad_subFB 8080
be_honest 7
bestappr_noer 3030
bnfcompress 7
bnfinit0 924
bnfisprincipal0 233007
bnfisunit 2310
bnfnewprec 14
bnfnewprec_shallow 20
bnftosbnf 7
bnrnewprec 7
bnrnewprec_shallow 0
buchall_end 2120
cache_prime_dec 33062
can_factor 1177377
check_and_build_cycgen 5754
check_and_build_matal 34
class_group_gen 1713
clean_cols 7054
cleanarch 246617
codeprime 49
codeprimes 7
compute_R 3030
compute_invres 1686
compute_multiple_of_R 7397
compute_multiple_of_R_pivot 808691
compute_vecG 1686
dbg_cancelrel 0
dbg_newrel 0
decode_pr_lists 7
decodeprime 49
delete_FB 1833
delete_cache 1833
divide_p 880745
divide_p_elt 616238
divide_p_id 48024
divide_p_quo 216483
exp_OK 1412
expand 0
expandext 33780
extract_full_lattice 1755
fact_ok 209946
factorgen 287453
famat_get_arch_real 1334
famat_to_arch 1502
free_GRHcheck 38916
get_Vbase 256676
get_arch 177614
get_arch_real 6854
get_archclean 66
get_clfu 2120
get_fs 178694
get_log_embed 41530
get_norm_fact 209764
get_norm_fact_primes 592
get_pr_lists 256636
get_random_ideal 2659
get_regulator 27
get_y 598
getfu 1755
idnorm 4257
init_GRHcheck 38916
init_famat 14564
init_red_mod_units 206198
init_rel 1833
init_units 5509
inverse_if_smaller 1419
isprincipal 47628
isprincipalall 256580
isprincipalarch 211000
isprincipalfact 33768
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 1833
nfsign_from_logarch 7280
nfsign_units 6650
not_given 76
nthideal 3372
perm_log_embed 24288
powFBgen 336
powPgen 616
pr_index 9933
pre_allocate 15943
prec_arch 282257
primeneeded 1686
reallocate 1854
recover_partFB 256629
red 2659
red_mod_units 206198
remove_content 2659
rnd_rel 2659
sbnf2bnf 7
scalar_get_arch_real 1316
set_fact 298298
setlg_col 147
shift_G 7872
shift_embed 12085
signunits 7
small_norm 12605
smooth_norm 1081482
split_ideal 255677
step 3503050
store 1349120
subFB_change 427
subFBgen 1833
tailres 29520
tailresback 59040
testprimes 49
trim_list 15607
triv_arch 1458
triv_gen 10213
try_elt 1659
unclone_subFB 1833
wr_rel 0

Generated by: LCOV version 1.9