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.10.0 lcov report (development 20291-5fbfea9) Lines: 2342 2500 93.7 %
Date: 2017-02-25 05:49:34 Functions: 143 151 94.7 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Buchall 1246
Buchall_deg1 462
Buchall_param 2373
FB_aut_perm 2058
FBgen 2058
Fincke_Pohst_ideal 331038
GRHchk 17700
GRHok 423469
RgV_is1 15156
SPLIT 301745
Vbase_to_FB 9730
act_arch 531019
addRe_modIm 726179
add_cyclotomic_units 2058
add_principal_part 46649
add_rel 529190
add_rel_i 589974
add_to_fact 14473
already_known 589834
assign_subFB 2204
automorphism_matrices 1960
automorphism_perms 1911
bad_subFB 9142
be_honest 7
bestappr_noer 3721
bnf_build_cycgen 3129
bnf_build_matalpha 37
bnf_build_units 15829
bnf_get_B 286401
bnf_get_C 600340
bnf_get_W 286431
bnf_get_vbase 286480
bnfcompress 7
bnfinit0 1134
bnfisprincipal0 252153
bnfisunit 2310
bnfnewprec 14
bnfnewprec_shallow 30
bnftestprimes 49
bnrnewprec 7
bnrnewprec_shallow 0
buchall_end 2380
cache_prime_dec 37425
can_factor 1471854
class_group_gen 1948
clean_cols 8315
cleanarch 278050
codeprime 49
codeprimes 7
compute_R 3721
compute_invres 1911
compute_multiple_of_R 8770
compute_multiple_of_R_pivot 847870
compute_vecG 1911
dbg_cancelrel 0
dbg_newrel 0
decode_pr_lists 7
decodeprime 49
delete_FB 2058
delete_cache 2058
divide_p 1320485
divide_p_elt 1046845
divide_p_id 58160
divide_p_quo 215480
exp_OK 1621
expand 0
expandext 46671
extract_full_lattice 2013
fact_ok 234644
factorgen 318793
famat_get_arch_real 1334
famat_to_arch 1952
free_GRHcheck 42853
get_arch 198657
get_arch_real 6959
get_archclean 106
get_clfu 2380
get_fs 308147
get_log_embed 49087
get_norm_fact 234272
get_norm_fact_primes 775
get_pr_lists 286422
get_random_ideal 3071
get_regulator 37
get_y 790
getfu 2013
idealHNF_mulred 14759
idnorm 5385
init_GRHcheck 42853
init_famat 15253
init_red_mod_units 232436
init_rel 2058
inv_fact 2577
inverse_if_smaller 1795
isprincipal 53109
isprincipalall 286366
isprincipalarch 235719
isprincipalfact 46641
isprincipalfact_or_fail 30
isprincipalforce 0
isprincipalgen 0
isprincipalgenforce 0
log_m1 1512
low_prec 13980
makecycgen 917
makematal 28
makeunits 1562
my_class_group_gen 30
needed_bitprec 1075
neg_row 268
nfcyclotomicunits 2058
nfsign_from_logarch 5887
nfsign_units 5670
not_given 109
nthideal 3822
perm_log_embed 32045
powFBgen 455
powPgen 877
pr_index 9779
pr_orbit_fill 11851
pre_allocate 19450
prec_arch 313916
primeneeded 1911
reallocate 2079
recover_partFB 286415
red 3071
red_mod_units 232436
remove_content 3071
rnd_rel 3071
sbnf2bnf 7
scalar_get_arch_real 1323
set_fact 518930
setlg_col 196
shift_G 8901
shift_embed 13661
signunits 7
small_norm 15553
smooth_norm 1353603
split_ideal 285407
step 4524289
store 2220641
subFB_change 461
subFBgen 2058
tailres 34897
tailresback 69794
trim_list 18995
triv_arch 1824
triv_gen 12467
try_elt 1659
unclone_subFB 2058
wr_rel 0

Generated by: LCOV version 1.11