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 18898-50fc0a2) Lines: 2305 2495 92.4 %
Date: 2016-05-04 Functions: 136 144 94.4 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1412 1777 79.5 %

Function Name Sort by function name Hit count Sort by hit count
Buchall 1196
Buchall_deg1 420
Buchall_param 2099
FB_aut_perm 1826
FBgen 1826
Fincke_Pohst_ideal 304652
GRHchk 15384
GRHok 392191
SPLIT 272134
Vbase_to_FB 9884
act_arch 501405
addRe_modIm 643020
add_cyclotomic_units 1826
add_principal_part 33774
add_rel 307305
add_rel_i 357351
add_to_fact 13228
already_known 357225
assign_subFB 1938
automorphism_matrices 1679
automorphism_perms 1679
bad_subFB 8059
be_honest 7
bestappr_noer 3023
bnfcompress 7
bnfinit0 910
bnfisprincipal0 233007
bnfisunit 2310
bnfnewprec 14
bnfnewprec_shallow 20
bnftosbnf 7
bnrnewprec 7
bnrnewprec_shallow 0
buchall_end 2106
cache_prime_dec 32957
can_factor 1177328
check_and_build_cycgen 5754
check_and_build_matal 34
class_group_gen 1706
clean_cols 7047
cleanarch 246575
codeprime 49
codeprimes 7
compute_R 3023
compute_invres 1679
compute_multiple_of_R 7390
compute_multiple_of_R_pivot 808656
compute_vecG 1679
dbg_cancelrel 0
dbg_newrel 0
decode_pr_lists 7
decodeprime 49
delete_FB 1826
delete_cache 1826
divide_p 880682
divide_p_elt 616175
divide_p_id 48024
divide_p_quo 216483
exp_OK 1405
expand 0
expandext 33780
extract_full_lattice 1748
fact_ok 209946
factorgen 287453
famat_get_arch_real 1334
famat_to_arch 1502
free_GRHcheck 38909
get_Vbase 256676
get_arch 177614
get_arch_real 6854
get_archclean 66
get_clfu 2106
get_fs 178281
get_log_embed 41495
get_norm_fact 209764
get_norm_fact_primes 592
get_pr_lists 256636
get_random_ideal 2659
get_regulator 27
get_y 598
getfu 1748
idnorm 4257
init_GRHcheck 38909
init_famat 14557
init_red_mod_units 206198
init_rel 1826
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 1826
nfsign_from_logarch 7280
nfsign_units 6650
not_given 76
nthideal 3358
perm_log_embed 24274
powFBgen 336
powPgen 616
pr_index 9933
pre_allocate 15936
prec_arch 282257
primeneeded 1679
reallocate 1847
recover_partFB 256629
red 2659
red_mod_units 206198
remove_content 2659
rnd_rel 2659
sbnf2bnf 7
scalar_get_arch_real 1316
set_fact 298249
setlg_col 147
shift_G 7851
shift_embed 12057
signunits 7
small_norm 12598
smooth_norm 1081433
split_ideal 255677
step 3502903
store 1349057
subFB_change 427
subFBgen 1826
tailres 29408
tailresback 58816
testprimes 49
trim_list 15600
triv_arch 1458
triv_gen 10213
try_elt 1659
unclone_subFB 1826
wr_rel 0

Generated by: LCOV version 1.9