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 17097-9391e68) Lines: 2177 2426 89.7 %
Date: 2014-11-21 Functions: 131 141 92.9 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1351 1757 76.9 %

Function Name Sort by function name Hit count Sort by hit count
Buchall 545
Buchall_deg1 55
Buchall_param 1085
FB_aut_perm 1130
FBgen 1130
Fincke_Pohst_ideal 202335
GRHchk 9550
GRHok 77065
SPLIT 160186
Vbase_to_FB 6405
act_arch 326495
addRe_modIm 388970
add_cyclotomic_units 1130
add_principal_part 10380
add_rel 112803
add_rel_i 140731
add_to_fact 7573
already_known 140666
assign_subFB 1180
automorphism_matrices 1030
automorphism_perms 1030
bad_subFB 5040
be_honest 5
bestappr_noer 1887
bnfcompress 5
bnfinit0 545
bnfisprincipal0 147191
bnfisunit 1475
bnfnewprec 10
bnfnewprec_shallow 15
bnftosbnf 5
bnrnewprec 5
bnrnewprec_shallow 0
buchall_end 1090
cache_prime_dec 20095
can_factor 658472
check_and_build_cycgen 3380
check_and_build_matal 25
class_group_gen 1050
clean_cols 3317
cleanarch 142017
codeprime 35
codeprimes 5
compute_R 1887
compute_invres 1130
compute_multiple_of_R 3517
compute_multiple_of_R_pivot 58099
compute_vecG 1030
cyclotomic_units 1130
dbg_cancelrel 0
dbg_newrel 0
decode_pr_lists 5
decodeprime 35
delete_FB 1130
delete_cache 1130
divide_p 414058
divide_p_elt 234065
divide_p_id 32745
divide_p_quo 147248
exp_OK 904
expand 0
expandext 10380
extract_full_lattice 1104
fact_ok 119091
factorgen 178091
famat_get_arch_real 909
famat_to_arch 1080
free_GRHcheck 4685
get_Vbase 152441
get_arch 110881
get_arch_real 4353
get_archclean 45
get_clfu 1090
get_fs 80525
get_log_embed 26427
get_norm_fact 119046
get_norm_fact_primes 325
get_pr_lists 152411
get_random_ideal 684
get_regulator 20
get_y 325
getfu 1104
idnorm 2835
init_GRHcheck 4685
init_famat 8354
init_red_mod_units 118356
init_rel 1130
init_units 3280
inverse_if_smaller 945
isprincipal 33925
isprincipalall 152381
isprincipalarch 119816
isprincipalfact 10380
isprincipalfact_or_fail 0
isprincipalforce 0
isprincipalgen 0
isprincipalgenforce 0
low_prec 7924
makecycgen 670
makematal 20
my_class_group_gen 15
needed_bitprec 725
neg_row 560
nfbasic_from_sbnf 5
nfsign_from_logarch 5120
nfsign_units 4100
not_given 74
nthideal 2060
perm_log_embed 11762
powFBgen 180
powPgen 330
pr_index 6440
pre_allocate 8564
prec_arch 152456
reallocate 1130
recover_partFB 152406
red 684
red_mod_units 118356
remove_content 684
rnd_rel 684
sbnf2bnf 5
scalar_get_arch_real 935
set_fact 107163
setlg_col 95
shift_G 4765
shift_embed 7290
signunits 5
small_norm 7525
smooth_norm 620893
split_ideal 151801
step 1884573
store 555361
subFB_change 70
subFBgen 1130
testprimes 25
trim_list 8384
triv_arch 1040
triv_gen 5195
try_elt 0
unclone_subFB 1130
wr_rel 0

Generated by: LCOV version 1.9