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 17110-9967e23) Lines: 2213 2426 91.2 %
Date: 2014-11-26 Functions: 132 141 93.6 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1369 1757 77.9 %

Function Name Sort by function name Hit count Sort by hit count
Buchall 560
Buchall_deg1 55
Buchall_param 1105
FB_aut_perm 1150
FBgen 1150
Fincke_Pohst_ideal 215535
GRHchk 9820
GRHok 77335
SPLIT 160753
Vbase_to_FB 6405
act_arch 328016
addRe_modIm 401427
add_cyclotomic_units 1150
add_principal_part 10421
add_rel 310818
add_rel_i 342921
add_to_fact 7603
already_known 342846
assign_subFB 1205
automorphism_matrices 1050
automorphism_perms 1050
bad_subFB 5135
be_honest 5
bestappr_noer 2042
bnfcompress 5
bnfinit0 550
bnfisprincipal0 147726
bnfisunit 1505
bnfnewprec 10
bnfnewprec_shallow 20
bnftosbnf 5
bnrnewprec 5
bnrnewprec_shallow 0
buchall_end 1110
cache_prime_dec 20705
can_factor 877346
check_and_build_cycgen 3400
check_and_build_matal 30
class_group_gen 1075
clean_cols 3467
cleanarch 145400
codeprime 35
codeprimes 5
compute_R 2042
compute_invres 1150
compute_multiple_of_R 3672
compute_multiple_of_R_pivot 62629
compute_vecG 1050
cyclotomic_units 1150
dbg_cancelrel 0
dbg_newrel 0
decode_pr_lists 5
decodeprime 35
delete_FB 1150
delete_cache 1150
divide_p 803192
divide_p_elt 622410
divide_p_id 32906
divide_p_quo 147876
exp_OK 919
expand 0
expandext 10427
extract_full_lattice 1124
fact_ok 120286
factorgen 179803
famat_get_arch_real 919
famat_to_arch 1136
free_GRHcheck 4705
get_Vbase 153018
get_arch 112121
get_arch_real 4613
get_archclean 55
get_clfu 1110
get_fs 82775
get_log_embed 27292
get_norm_fact 119613
get_norm_fact_primes 1001
get_pr_lists 152978
get_random_ideal 714
get_regulator 25
get_y 1001
getfu 1124
idnorm 2970
init_GRHcheck 4705
init_famat 8409
init_red_mod_units 119544
init_rel 1150
init_units 3295
inverse_if_smaller 990
isprincipal 33925
isprincipalall 152948
isprincipalarch 121059
isprincipalfact 10410
isprincipalfact_or_fail 17
isprincipalforce 0
isprincipalgen 0
isprincipalgenforce 0
low_prec 8894
makecycgen 685
makematal 25
my_class_group_gen 20
needed_bitprec 773
neg_row 620
nfbasic_from_sbnf 5
nfsign_from_logarch 5140
nfsign_units 4115
not_given 74
nthideal 2100
perm_log_embed 13092
powFBgen 195
powPgen 375
pr_index 6440
pre_allocate 10109
prec_arch 153018
reallocate 1150
recover_partFB 152973
red 714
red_mod_units 119544
remove_content 714
rnd_rel 714
sbnf2bnf 5
scalar_get_arch_real 935
set_fact 304938
setlg_col 110
shift_G 4880
shift_embed 7470
signunits 5
small_norm 8895
smooth_norm 839712
split_ideal 152368
step 2984243
store 1325411
subFB_change 75
subFBgen 1150
testprimes 25
trim_list 9914
triv_arch 1055
triv_gen 5215
try_elt 0
unclone_subFB 1150
wr_rel 0

Generated by: LCOV version 1.9