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 16937-4bd9b4e) Lines: 2179 2435 89.5 %
Date: 2014-10-24 Functions: 131 141 92.9 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1345 1761 76.4 %

Function Name Sort by function name Hit count Sort by hit count
Buchall 700
Buchall_deg1 77
Buchall_param 1435
FB_aut_perm 1498
FBgen 1498
Fincke_Pohst_ideal 282529
GRHchk 12642
GRHok 103859
SPLIT 220268
Vbase_to_FB 9035
act_arch 448842
addRe_modIm 527408
add_cyclotomic_units 1498
add_principal_part 14077
add_rel 156399
add_rel_i 195030
add_to_fact 10720
already_known 194939
assign_subFB 1582
automorphism_matrices 1358
automorphism_perms 1358
bad_subFB 6664
be_honest 7
bestappr_noer 2545
bnfcompress 7
bnfinit0 742
bnfisprincipal0 202733
bnfisunit 2065
bnfnewprec 14
bnfnewprec_shallow 14
bnftosbnf 7
bnrnewprec 7
bnrnewprec_shallow 0
buchall_end 1442
cache_prime_dec 26740
can_factor 912212
check_and_build_cycgen 4669
check_and_build_matal 28
class_group_gen 1379
clean_cols 4554
cleanarch 193314
codeprime 49
codeprimes 7
compute_R 2545
compute_invres 1498
compute_multiple_of_R 4785
compute_multiple_of_R_pivot 80337
compute_vecG 1358
cyclotomic_units 1498
dbg_cancelrel 0
dbg_newrel 0
decode_pr_lists 7
decodeprime 49
delete_FB 1498
delete_cache 1498
divide_p 571189
divide_p_elt 323673
divide_p_id 45136
divide_p_quo 202380
exp_OK 1196
expand 0
expandext 14077
extract_full_lattice 1427
fact_ok 162763
factorgen 245988
famat_get_arch_real 1271
famat_to_arch 1420
free_GRHcheck 6048
get_Vbase 209530
get_arch 151207
get_arch_real 6091
get_archclean 42
get_clfu 1442
get_fs 104510
get_log_embed 34952
get_norm_fact 162805
get_norm_fact_primes 364
get_pr_lists 209502
get_random_ideal 1007
get_regulator 21
get_y 364
getfu 1427
idnorm 3822
init_GRHcheck 6048
init_famat 11596
init_red_mod_units 161769
init_rel 1498
init_units 4536
inverse_if_smaller 1274
isprincipal 47495
isprincipalall 209467
isprincipalarch 163771
isprincipalfact 14077
isprincipalfact_or_fail 0
isprincipalforce 0
isprincipalgen 0
isprincipalgenforce 0
low_prec 11092
makecycgen 882
makematal 21
my_class_group_gen 14
needed_bitprec 1008
neg_row 784
nfbasic_from_sbnf 7
nfsign_from_logarch 7168
nfsign_units 5684
not_given 69
nthideal 2716
perm_log_embed 16172
powFBgen 266
powPgen 497
pr_index 9084
pre_allocate 11871
prec_arch 209579
reallocate 1498
recover_partFB 209495
red 1007
red_mod_units 161769
remove_content 1007
rnd_rel 1007
sbnf2bnf 7
scalar_get_arch_real 1309
set_fact 148811
setlg_col 126
shift_G 6188
shift_embed 9387
signunits 7
small_norm 10353
smooth_norm 861148
split_ideal 208662
step 2630860
store 768200
subFB_change 112
subFBgen 1498
testprimes 28
trim_list 11605
triv_arch 1378
triv_gen 7343
try_elt 0
unclone_subFB 1498
wr_rel 0

Generated by: LCOV version 1.9