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 17238-ce76349) Lines: 2217 2429 91.3 %
Date: 2014-12-20 Functions: 132 141 93.6 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1379 1765 78.1 %

Function Name Sort by function name Hit count Sort by hit count
Buchall 881
Buchall_deg1 91
Buchall_param 1644
FB_aut_perm 1693
FBgen 1693
Fincke_Pohst_ideal 302977
GRHchk 14460
GRHok 108981
SPLIT 230529
Vbase_to_FB 10060
act_arch 460499
addRe_modIm 567481
add_cyclotomic_units 1693
add_principal_part 14687
add_rel 438731
add_rel_i 484726
add_to_fact 11773
already_known 484614
assign_subFB 1770
automorphism_matrices 1553
automorphism_perms 1553
bad_subFB 7513
be_honest 7
bestappr_noer 3004
bnfcompress 7
bnfinit0 770
bnfisprincipal0 207856
bnfisunit 2184
bnfnewprec 14
bnfnewprec_shallow 34
bnftosbnf 7
bnrnewprec 7
bnrnewprec_shallow 0
buchall_end 1651
cache_prime_dec 30808
can_factor 1248823
check_and_build_cycgen 4935
check_and_build_matal 48
class_group_gen 1594
clean_cols 5159
cleanarch 205887
codeprime 49
codeprimes 7
compute_R 3004
compute_invres 1693
compute_multiple_of_R 5460
compute_multiple_of_R_pivot 90107
compute_vecG 1553
cyclotomic_units 1693
dbg_cancelrel 0
dbg_newrel 0
decode_pr_lists 7
decodeprime 49
delete_FB 1693
delete_cache 1693
divide_p 1142911
divide_p_elt 877038
divide_p_id 46534
divide_p_quo 219339
exp_OK 1363
expand 0
expandext 14701
extract_full_lattice 1664
fact_ok 169325
factorgen 261702
famat_get_arch_real 1285
famat_to_arch 1630
free_GRHcheck 6670
get_Vbase 215001
get_arch 157760
get_arch_real 6581
get_archclean 101
get_clfu 1651
get_fs 122685
get_log_embed 39565
get_norm_fact 168166
get_norm_fact_primes 1621
get_pr_lists 214933
get_random_ideal 1035
get_regulator 41
get_y 1635
getfu 1664
idnorm 4236
init_GRHcheck 6670
init_famat 13045
init_red_mod_units 168282
init_rel 1693
init_units 4732
inverse_if_smaller 1412
isprincipal 47537
isprincipalall 214884
isprincipalarch 170424
isprincipalfact 14658
isprincipalfact_or_fail 43
isprincipalforce 0
isprincipalgen 0
isprincipalgenforce 0
low_prec 12744
makecycgen 1050
makematal 41
my_class_group_gen 34
needed_bitprec 1099
neg_row 920
nfbasic_from_sbnf 7
nfsign_from_logarch 7336
nfsign_units 5873
not_given 111
nthideal 3106
perm_log_embed 19063
powFBgen 287
powPgen 546
pr_index 10109
pre_allocate 14524
prec_arch 222172
reallocate 1693
recover_partFB 214926
red 1035
red_mod_units 168282
remove_content 1035
rnd_rel 1035
sbnf2bnf 7
scalar_get_arch_real 1323
set_fact 430221
setlg_col 154
shift_G 7256
shift_embed 11112
signunits 7
small_norm 12775
smooth_norm 1195789
split_ideal 214072
step 4197700
store 1876366
subFB_change 105
subFBgen 1693
testprimes 42
trim_list 14237
triv_arch 1521
triv_gen 7693
try_elt 0
unclone_subFB 1693
wr_rel 0

Generated by: LCOV version 1.9