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 19044-129ab8a) Lines: 2307 2495 92.5 %
Date: 2016-06-27 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 2120
FB_aut_perm 1840
FBgen 1840
Fincke_Pohst_ideal 304680
GRHchk 15468
GRHok 392275
SPLIT 272134
Vbase_to_FB 9884
act_arch 501461
addRe_modIm 643146
add_cyclotomic_units 1840
add_principal_part 33774
add_rel 307410
add_rel_i 357505
add_to_fact 13228
already_known 357379
assign_subFB 1952
automorphism_matrices 1693
automorphism_perms 1693
bad_subFB 8108
be_honest 7
bestappr_noer 3037
bnfcompress 7
bnfinit0 931
bnfisprincipal0 233007
bnfisunit 2310
bnfnewprec 14
bnfnewprec_shallow 20
bnftosbnf 7
bnrnewprec 7
bnrnewprec_shallow 0
buchall_end 2127
cache_prime_dec 33160
can_factor 1177405
check_and_build_cycgen 5754
check_and_build_matal 34
class_group_gen 1720
clean_cols 7061
cleanarch 246666
codeprime 49
codeprimes 7
compute_R 3037
compute_invres 1693
compute_multiple_of_R 7404
compute_multiple_of_R_pivot 808733
compute_vecG 1693
dbg_cancelrel 0
dbg_newrel 0
decode_pr_lists 7
decodeprime 49
delete_FB 1840
delete_cache 1840
divide_p 880787
divide_p_elt 616280
divide_p_id 48024
divide_p_quo 216483
exp_OK 1419
expand 0
expandext 33780
extract_full_lattice 1762
fact_ok 209946
factorgen 287453
famat_get_arch_real 1334
famat_to_arch 1502
free_GRHcheck 38923
get_Vbase 256676
get_arch 177614
get_arch_real 6854
get_archclean 66
get_clfu 2127
get_fs 179163
get_log_embed 41572
get_norm_fact 209764
get_norm_fact_primes 592
get_pr_lists 256636
get_random_ideal 2659
get_regulator 27
get_y 598
getfu 1762
idnorm 4257
init_GRHcheck 38923
init_famat 14571
init_red_mod_units 206198
init_rel 1840
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 1840
nfsign_from_logarch 7280
nfsign_units 6650
not_given 76
nthideal 3386
perm_log_embed 24316
powFBgen 336
powPgen 616
pr_index 9933
pre_allocate 15950
prec_arch 282257
primeneeded 1693
reallocate 1861
recover_partFB 256629
red 2659
red_mod_units 206198
remove_content 2659
rnd_rel 2659
sbnf2bnf 7
scalar_get_arch_real 1316
set_fact 298326
setlg_col 147
shift_G 7893
shift_embed 12113
signunits 7
small_norm 12612
smooth_norm 1081510
split_ideal 255677
step 3503134
store 1349162
subFB_change 427
subFBgen 1840
tailres 29632
tailresback 59264
testprimes 49
trim_list 15614
triv_arch 1458
triv_gen 10213
try_elt 1659
unclone_subFB 1840
wr_rel 0

Generated by: LCOV version 1.9