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 20916-a74d914) Lines: 2332 2493 93.5 %
Date: 2017-08-18 06:23:59 Functions: 143 151 94.7 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Buchall 7490
Buchall_deg1 469
Buchall_param 8631
FB_aut_perm 8309
FBgen 8309
Fincke_Pohst_ideal 343402
GRHchk 60148
GRHok 276483
RgV_is1 8821
SPLIT 353804
Vbase_to_FB 10577
act_arch 604232
addRe_modIm 747039
add_cyclotomic_units 8309
add_principal_part 22317
add_rel 573721
add_rel_i 653418
add_to_fact 15297
already_known 653278
assign_subFB 8448
automorphism_matrices 8211
automorphism_perms 8162
bad_subFB 34307
be_honest 7
bestappr_noer 9856
bnf_build_cycgen 8225
bnf_build_matalpha 37
bnf_build_units 26980
bnf_get_B 675926
bnf_get_C 684347
bnf_get_W 337531
bnf_get_vbase 337580
bnfcompress 7
bnfinit0 1148
bnfisprincipal0 368591
bnfisunit 2310
bnfnewprec 14
bnfnewprec_shallow 30
bnftestprimes 49
bnrnewprec 7
bnrnewprec_shallow 0
buchall_end 8638
cache_prime_dec 128194
can_factor 1587007
class_group_gen 8199
clean_cols 10014
cleanarch 328135
codeprime 49
codeprimes 7
compute_R 9855
compute_invres 8162
compute_multiple_of_R 15551
compute_multiple_of_R_pivot 857848
compute_vecG 8162
dbg_cancelrel 0
dbg_newrel 0
decode_pr_lists 7
decodeprime 49
delete_FB 8309
delete_cache 8309
divide_p 1432646
divide_p_elt 1098912
divide_p_id 100776
divide_p_quo 232958
exp_OK 2839
expand 0
expandext 22339
extract_full_lattice 8264
fact_ok 244654
factorgen 345088
famat_get_arch_real 1334
famat_to_arch 7041
free_GRHcheck 24275
get_arch 223486
get_arch_real 6959
get_archclean 106
get_clfu 8638
get_fs 939225
get_log_embed 83493
get_norm_fact 243477
get_norm_fact_primes 775
get_pr_lists 337522
get_random_ideal 2943
get_regulator 37
get_y 790
getfu 8264
idealHNF_mulred 17377
idnorm 19392
init_GRHcheck 24275
init_famat 22230
init_red_mod_units 211086
init_rel 8309
inv_fact 2934
inverse_if_smaller 6464
isprincipal 101948
isprincipalall 338425
isprincipalarch 245729
isprincipalfact 22309
isprincipalfact_or_fail 30
isprincipalforce 0
isprincipalgen 0
isprincipalgenforce 0
log_m1 2730
low_prec 13980
makecycgen 1855
makematal 28
makeunits 4894
my_class_group_gen 30
needed_bitprec 1075
neg_row 254
nfcyclotomicunits 8309
nfsign_from_logarch 14497
nfsign_units 22533
not_given 109
nthideal 16324
perm_log_embed 48846
powFBgen 448
powPgen 863
pr_index 10626
pr_orbit_fill 11851
pre_allocate 27980
prec_arch 345864
primeneeded 8162
reallocate 8330
recover_partFB 337515
red 2943
red_mod_units 211086
remove_content 2943
rnd_rel 2943
sbnf2bnf 7
scalar_get_arch_real 1323
set_fact 547809
setlg_col 532
shift_G 12555
shift_embed 18533
signunits 7
small_norm 24218
smooth_norm 1474466
split_ideal 337466
step 4573441
store 2326908
subFB_change 433
subFBgen 8309
tailres 142228
tailresback 284456
trim_list 27532
triv_arch 7102
triv_gen 52514
try_elt 1659
unclone_subFB 8309
wr_rel 0

Generated by: LCOV version 1.11