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 16781-61614ca) Lines: 2180 2434 89.6 %
Date: 2014-09-14 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 714
Buchall_deg1 77
Buchall_param 1505
FB_aut_perm 1568
FBgen 1568
Fincke_Pohst_ideal 283908
GRHchk 12908
GRHok 104300
SPLIT 223571
Vbase_to_FB 9114
act_arch 456322
addRe_modIm 535904
add_cyclotomic_units 1568
add_principal_part 14084
add_rel 157869
add_rel_i 197095
add_to_fact 10799
already_known 197004
assign_subFB 1652
automorphism_matrices 1428
automorphism_perms 1428
bad_subFB 6979
be_honest 14
bestappr_noer 2629
bnfcompress 14
bnfinit0 749
bnfisprincipal0 205966
bnfisunit 2072
bnfnewprec 14
bnfnewprec_shallow 14
bnftosbnf 14
bnrnewprec 7
bnrnewprec_shallow 0
buchall_end 1519
cache_prime_dec 27587
can_factor 920797
check_and_build_cycgen 4711
check_and_build_matal 42
class_group_gen 1456
clean_cols 4883
cleanarch 197604
codeprime 98
codeprimes 14
compute_R 2629
compute_invres 1568
compute_multiple_of_R 5114
compute_multiple_of_R_pivot 84117
compute_vecG 1428
cyclotomic_units 1568
dbg_cancelrel 0
dbg_newrel 0
decode_pr_lists 14
decodeprime 98
delete_FB 1568
delete_cache 1568
divide_p 577618
divide_p_elt 326781
divide_p_id 45143
divide_p_quo 205694
exp_OK 1280
expand 0
expandext 14084
extract_full_lattice 1511
fact_ok 166122
factorgen 249590
famat_get_arch_real 1271
famat_to_arch 1526
free_GRHcheck 6139
get_Vbase 212847
get_arch 154964
get_arch_real 6098
get_archclean 56
get_clfu 1519
get_fs 111160
get_log_embed 36352
get_norm_fact 166101
get_norm_fact_primes 413
get_pr_lists 212819
get_random_ideal 1007
get_regulator 28
get_y 413
getfu 1511
idnorm 4011
init_GRHcheck 6139
init_famat 11759
init_red_mod_units 165128
init_rel 1568
init_units 4599
inverse_if_smaller 1337
isprincipal 47502
isprincipalall 212770
isprincipalarch 167130
isprincipalfact 14084
isprincipalfact_or_fail 0
isprincipalforce 0
isprincipalgen 7
isprincipalgenforce 0
low_prec 11106
makecycgen 896
makematal 28
my_class_group_gen 14
needed_bitprec 1008
neg_row 840
nfbasic_from_sbnf 14
nfsign_from_logarch 7231
nfsign_units 5740
not_given 90
nthideal 2856
perm_log_embed 16711
powFBgen 266
powPgen 497
pr_index 9212
pre_allocate 12326
prec_arch 212882
reallocate 1568
recover_partFB 212805
red 1007
red_mod_units 165128
remove_content 1007
rnd_rel 1007
sbnf2bnf 14
scalar_get_arch_real 1309
set_fact 149980
setlg_col 126
shift_G 6440
shift_embed 9737
signunits 14
small_norm 10808
smooth_norm 868239
split_ideal 211965
step 2636754
store 774813
subFB_change 112
subFBgen 1568
testprimes 35
trim_list 12060
triv_arch 1498
triv_gen 7280
try_elt 0
unclone_subFB 1568
wr_rel 0

Generated by: LCOV version 1.9