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 20459-9710128) Lines: 2326 2493 93.3 %
Date: 2017-04-28 05:33:48 Functions: 143 151 94.7 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Buchall 1068
Buchall_deg1 396
Buchall_param 2040
FB_aut_perm 1770
FBgen 1770
Fincke_Pohst_ideal 279774
GRHchk 15204
GRHok 361170
RgV_is1 7404
SPLIT 238146
Vbase_to_FB 9054
act_arch 433458
addRe_modIm 575166
add_cyclotomic_units 1770
add_principal_part 18972
add_rel 449790
add_rel_i 501264
add_to_fact 13074
already_known 501144
assign_subFB 1884
automorphism_matrices 1686
automorphism_perms 1644
bad_subFB 7860
be_honest 6
bestappr_noer 3060
bnf_build_cycgen 2682
bnf_build_matalpha 30
bnf_build_units 8670
bnf_get_B 449136
bnf_get_C 455976
bnf_get_W 224196
bnf_get_vbase 224238
bnfcompress 6
bnfinit0 978
bnfisprincipal0 213768
bnfisunit 1980
bnfnewprec 12
bnfnewprec_shallow 24
bnftestprimes 42
bnrnewprec 6
bnrnewprec_shallow 0
buchall_end 2046
cache_prime_dec 32154
can_factor 1232400
class_group_gen 1674
clean_cols 6918
cleanarch 217074
codeprime 42
codeprimes 6
compute_R 3060
compute_invres 1644
compute_multiple_of_R 7308
compute_multiple_of_R_pivot 711282
compute_vecG 1644
dbg_cancelrel 0
dbg_newrel 0
decode_pr_lists 6
decodeprime 42
delete_FB 1770
delete_cache 1770
divide_p 1122870
divide_p_elt 889380
divide_p_id 49752
divide_p_quo 183738
exp_OK 1398
expand 0
expandext 18984
extract_full_lattice 1734
fact_ok 180522
factorgen 267204
famat_get_arch_real 1140
famat_to_arch 1980
free_GRHcheck 36528
get_arch 170700
get_arch_real 5958
get_archclean 84
get_clfu 2046
get_fs 264234
get_log_embed 41598
get_norm_fact 180312
get_norm_fact_primes 540
get_pr_lists 224190
get_random_ideal 2514
get_regulator 30
get_y 546
getfu 1734
idealHNF_mulred 14154
idnorm 4554
init_GRHcheck 36528
init_famat 13680
init_red_mod_units 178614
init_rel 1770
inv_fact 2508
inverse_if_smaller 1518
isprincipal 45522
isprincipalall 224964
isprincipalarch 181428
isprincipalfact 18972
isprincipalfact_or_fail 12
isprincipalforce 0
isprincipalgen 0
isprincipalgenforce 0
log_m1 1302
low_prec 11976
makecycgen 786
makematal 24
makeunits 1338
my_class_group_gen 24
needed_bitprec 906
neg_row 204
nfcyclotomicunits 1770
nfsign_from_logarch 5046
nfsign_units 4860
not_given 96
nthideal 3288
perm_log_embed 26970
powFBgen 378
powPgen 732
pr_index 9096
pr_orbit_fill 10158
pre_allocate 16728
prec_arch 230964
primeneeded 1644
reallocate 1788
recover_partFB 224184
red 2514
red_mod_units 178614
remove_content 2514
rnd_rel 2514
sbnf2bnf 6
scalar_get_arch_real 1134
set_fact 440982
setlg_col 162
shift_G 7632
shift_embed 11706
signunits 6
small_norm 13524
smooth_norm 1150374
split_ideal 224142
step 3822678
store 1887420
subFB_change 366
subFBgen 1770
tailres 30012
tailresback 60024
trim_list 16350
triv_arch 1554
triv_gen 7794
try_elt 1422
unclone_subFB 1770
wr_rel 0

Generated by: LCOV version 1.11