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-bordeaux1.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 16746-c2cb716) Lines: 2180 2434 89.6 %
Date: 2014-08-31 Functions: 132 141 93.6 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1342 1759 76.3 %

Function Name Sort by function name Hit count Sort by hit count
Buchall 510
Buchall_deg1 55
Buchall_param 1070
FB_aut_perm 1115
FBgen 1115
Fincke_Pohst_ideal 202805
GRHchk 9180
GRHok 74460
SPLIT 197151
Vbase_to_FB 6423
act_arch 426902
addRe_modIm 499807
add_cyclotomic_units 1115
add_principal_part 10060
add_rel 112728
add_rel_i 140736
add_to_fact 7626
already_known 140671
assign_subFB 1175
automorphism_matrices 1015
automorphism_perms 1015
bad_subFB 4970
be_honest 10
bestappr_noer 1872
bnfcompress 10
bnfinit0 530
bnfisprincipal0 183901
bnfisunit 1480
bnfnewprec 10
bnfnewprec_shallow 10
bnftosbnf 10
bnrnewprec 5
bnrnewprec_shallow 0
buchall_end 1080
cache_prime_dec 19630
can_factor 732422
check_and_build_cycgen 3325
check_and_build_matal 30
class_group_gen 1035
clean_cols 3482
cleanarch 178567
codeprime 70
codeprimes 10
compute_R 1872
compute_invres 1115
compute_multiple_of_R 3647
compute_multiple_of_R_pivot 60054
compute_vecG 1015
cyclotomic_units 1115
dbg_cancelrel 0
dbg_newrel 0
decode_pr_lists 10
decodeprime 70
delete_FB 1115
delete_cache 1115
divide_p 438117
divide_p_elt 233375
divide_p_id 32100
divide_p_quo 172642
exp_OK 909
expand 0
expandext 10060
extract_full_lattice 1074
fact_ok 156111
factorgen 215561
famat_get_arch_real 909
famat_to_arch 1039
free_GRHcheck 4380
get_Vbase 189491
get_arch 147926
get_arch_real 4358
get_archclean 40
get_clfu 1080
get_fs 79275
get_log_embed 25927
get_norm_fact 156101
get_norm_fact_primes 295
get_pr_lists 189471
get_random_ideal 719
get_regulator 20
get_y 295
getfu 1074
idnorm 2850
init_GRHcheck 4380
init_famat 8302
init_red_mod_units 155401
init_rel 1115
init_units 3245
inverse_if_smaller 950
isprincipal 33930
isprincipalall 189436
isprincipalarch 156831
isprincipalfact 10060
isprincipalfact_or_fail 0
isprincipalforce 0
isprincipalgen 5
isprincipalgenforce 0
low_prec 7934
makecycgen 635
makematal 20
my_class_group_gen 10
needed_bitprec 720
neg_row 600
nfbasic_from_sbnf 10
nfsign_from_logarch 5125
nfsign_units 4060
not_given 64
nthideal 2030
perm_log_embed 11927
powFBgen 190
powPgen 355
pr_index 6493
pre_allocate 8799
prec_arch 189511
reallocate 1115
recover_partFB 189461
red 719
red_mod_units 155401
remove_content 719
rnd_rel 719
sbnf2bnf 10
scalar_get_arch_real 935
set_fact 107108
setlg_col 90
shift_G 4585
shift_embed 6935
signunits 10
small_norm 7715
smooth_norm 682285
split_ideal 188861
step 1883283
store 580508
subFB_change 80
subFBgen 1115
testprimes 25
trim_list 8609
triv_arch 1028
triv_gen 4525
try_elt 0
unclone_subFB 1115
wr_rel 0

Generated by: LCOV version 1.9