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 21348-d75f58f) Lines: 2303 2486 92.6 %
Date: 2017-11-20 06:21:05 Functions: 143 151 94.7 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
bnrnewprec_shallow 0
dbg_cancelrel 0
dbg_newrel 0
expand 0
isprincipalforce 0
isprincipalgen 0
isprincipalgenforce 0
wr_rel 0
be_honest 7
bnfcompress 7
bnrnewprec 7
codeprimes 7
decode_pr_lists 7
sbnf2bnf 7
signunits 7
bnfnewprec 14
makematal 28
bnfnewprec_shallow 30
isprincipalfact_or_fail 30
my_class_group_gen 30
bnf_build_matalpha 37
get_regulator 37
bnftestprimes 49
codeprime 49
decodeprime 49
get_archclean 106
not_given 110
neg_row 254
subFB_change 404
powFBgen 412
Buchall_deg1 469
setlg_col 483
get_norm_fact_primes 775
get_y 790
powPgen 799
needed_bitprec 1075
bnfinit0 1148
scalar_get_arch_real 1323
famat_get_arch_real 1334
try_elt 1659
makecycgen 1771
bnfisunit 2310
log_m1 2730
get_random_ideal 2799
red 2799
remove_content 2799
rnd_rel 2799
exp_OK 2840
inv_fact 2934
makeunits 4782
inverse_if_smaller 6212
famat_to_arch 6789
triv_arch 6857
get_arch_real 6959
Buchall 7259
automorphism_perms 7931
compute_invres 7931
compute_vecG 7931
primeneeded 7931
class_group_gen 7968
automorphism_matrices 7980
extract_full_lattice 8034
getfu 8034
FB_aut_perm 8078
FBgen 8078
add_cyclotomic_units 8078
delete_FB 8078
delete_cache 8078
init_rel 8078
nfcyclotomicunits 8078
subFBgen 8078
unclone_subFB 8078
reallocate 8099
assign_subFB 8181
bnf_build_cycgen 8225
Buchall_param 8400
buchall_end 8407
get_clfu 8407
RgV_is1 8814
compute_R 9593
bestappr_noer 9594
clean_cols 10018
Vbase_to_FB 10577
pr_index 10626
pr_orbit_fill 11851
shift_G 12555
low_prec 13980
nfsign_from_logarch 14497
add_to_fact 15160
compute_multiple_of_R 15324
nthideal 15862
idealHNF_mulred 17328
shift_embed 18533
idnorm 18636
init_famat 21855
isprincipalfact 22302
add_principal_part 22310
expandext 22332
nfsign_units 22554
free_GRHcheck 24051
init_GRHcheck 24051
small_norm 24120
bnf_build_units 27001
trim_list 27290
pre_allocate 27702
bad_subFB 33229
perm_log_embed 47940
triv_gen 51933
GRHchk 58748
get_log_embed 82251
isprincipal 98406
divide_p_id 101427
cache_prime_dec 125191
tailres 138266
init_red_mod_units 211002
red_mod_units 211002
get_arch 221519
divide_p_quo 228934
get_norm_fact 241937
fact_ok 243037
isprincipalarch 244112
GRHok 275195
tailresback 276532
cleanarch 324889
split_ideal 332762
recover_partFB 332811
get_pr_lists 332818
bnf_get_W 332827
bnf_get_vbase 332876
isprincipalall 333721
factorgen 334761
prec_arch 341153
Fincke_Pohst_ideal 342775
SPLIT 349100
bnfisprincipal0 363313
set_fact 546636
add_rel 571813
act_arch 599682
already_known 650224
add_rel_i 650364
bnf_get_B 666518
bnf_get_C 674932
addRe_modIm 744171
compute_multiple_of_R_pivot 852795
get_fs 917294
divide_p_elt 1096098
divide_p 1426459
smooth_norm 1459442
can_factor 1570254
store 2320956
step 4538064

Generated by: LCOV version 1.11