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 19608-b7b365e) Lines: 2330 2489 93.6 %
Date: 2016-09-26 05:54:43 Functions: 140 148 94.6 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Buchall 1197
Buchall_deg1 427
Buchall_param 2254
FB_aut_perm 1974
FBgen 1974
Fincke_Pohst_ideal 329414
GRHchk 17014
GRHok 422811
SPLIT 274420
Vbase_to_FB 9954
act_arch 506780
addRe_modIm 671580
add_cyclotomic_units 1974
add_principal_part 34567
add_rel 528001
add_rel_i 588673
add_to_fact 14067
already_known 588540
assign_subFB 2087
automorphism_matrices 1876
automorphism_perms 1827
bad_subFB 8764
be_honest 7
bestappr_noer 3601
bnf_build_cycgen 5810
bnf_build_matalpha 37
bnf_build_units 6043
bnf_get_B 259076
bnf_get_C 543506
bnf_get_W 259106
bnf_get_vbase 259155
bnfcompress 7
bnfinit0 1064
bnfisprincipal0 234845
bnfisunit 2310
bnfnewprec 14
bnfnewprec_shallow 30
bnftestprimes 49
bnrnewprec 7
bnrnewprec_shallow 0
buchall_end 2261
cache_prime_dec 35990
can_factor 1417069
class_group_gen 1864
clean_cols 8169
cleanarch 253954
codeprime 49
codeprimes 7
compute_R 3601
compute_invres 1827
compute_multiple_of_R 8589
compute_multiple_of_R_pivot 849507
compute_vecG 1827
dbg_cancelrel 0
dbg_newrel 0
decode_pr_lists 7
decodeprime 49
delete_FB 1974
delete_cache 1974
divide_p 1312290
divide_p_elt 1045896
divide_p_id 50739
divide_p_quo 215655
exp_OK 1566
expand 0
expandext 34589
extract_full_lattice 1923
fact_ok 211393
factorgen 299963
famat_get_arch_real 1334
famat_to_arch 1840
free_GRHcheck 42776
get_arch 178058
get_arch_real 6847
get_archclean 106
get_clfu 2261
get_fs 297710
get_log_embed 48045
get_norm_fact 211035
get_norm_fact_primes 775
get_pr_lists 259097
get_random_ideal 2952
get_regulator 37
get_y 790
getfu 1923
idnorm 5070
init_GRHcheck 42776
init_famat 15092
init_red_mod_units 207631
init_rel 1974
inverse_if_smaller 1690
isprincipal 48832
isprincipalall 259041
isprincipalarch 212468
isprincipalfact 34559
isprincipalfact_or_fail 30
isprincipalforce 0
isprincipalgen 0
isprincipalgenforce 0
log_m1 1463
low_prec 13588
makecycgen 1477
makematal 28
makeunits 1499
my_class_group_gen 30
needed_bitprec 1075
neg_row 282
nfcyclotomicunits 1974
nfsign_from_logarch 7357
nfsign_units 6734
not_given 103
nthideal 3654
perm_log_embed 31553
powFBgen 408
powPgen 802
pr_index 10003
pr_orbit_fill 11851
pre_allocate 18990
prec_arch 284407
primeneeded 1827
reallocate 1995
recover_partFB 259090
red 2952
red_mod_units 207631
remove_content 2958
rnd_rel 2952
sbnf2bnf 7
scalar_get_arch_real 1309
set_fact 518028
setlg_col 182
shift_G 8558
shift_embed 13122
signunits 7
small_norm 15280
smooth_norm 1321394
split_ideal 258082
step 4500515
store 2213834
subFB_change 428
subFBgen 1974
tailres 33378
tailresback 66756
trim_list 18582
triv_arch 1642
triv_gen 10402
try_elt 1659
unclone_subFB 1974
wr_rel 0

Generated by: LCOV version 1.11