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 19823-d80e022) Lines: 2334 2494 93.6 %
Date: 2016-12-03 05:49:13 Functions: 142 150 94.7 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Buchall 1211
Buchall_deg1 434
Buchall_param 2324
FB_aut_perm 2037
FBgen 2037
Fincke_Pohst_ideal 330968
GRHchk 17546
GRHok 423259
RgV_is1 2675
SPLIT 279905
Vbase_to_FB 9870
act_arch 510362
addRe_modIm 682352
add_cyclotomic_units 2037
add_principal_part 34602
add_rel 528777
add_rel_i 589463
add_to_fact 14613
already_known 589330
assign_subFB 2183
automorphism_matrices 1939
automorphism_perms 1890
bad_subFB 9058
be_honest 7
bestappr_noer 3700
bnf_build_cycgen 3129
bnf_build_matalpha 37
bnf_build_units 5119
bnf_get_B 264561
bnf_get_C 554161
bnf_get_W 264591
bnf_get_vbase 264640
bnfcompress 7
bnfinit0 1120
bnfisprincipal0 239042
bnfisunit 2310
bnfnewprec 14
bnfnewprec_shallow 30
bnftestprimes 49
bnrnewprec 7
bnrnewprec_shallow 0
buchall_end 2331
cache_prime_dec 37033
can_factor 1430555
class_group_gen 1927
clean_cols 8308
cleanarch 256322
codeprime 49
codeprimes 7
compute_R 3700
compute_invres 1890
compute_multiple_of_R 8749
compute_multiple_of_R_pivot 847835
compute_vecG 1890
dbg_cancelrel 0
dbg_newrel 0
decode_pr_lists 7
decodeprime 49
delete_FB 2037
delete_cache 2037
divide_p 1319239
divide_p_elt 1046439
divide_p_id 51172
divide_p_quo 221628
exp_OK 1614
expand 0
expandext 34624
extract_full_lattice 1992
fact_ok 213063
factorgen 307097
famat_get_arch_real 1334
famat_to_arch 1931
free_GRHcheck 42825
get_arch 179764
get_arch_real 6959
get_archclean 106
get_clfu 2331
get_fs 306334
get_log_embed 48975
get_norm_fact 212691
get_norm_fact_primes 775
get_pr_lists 264582
get_random_ideal 3071
get_regulator 37
get_y 790
getfu 1992
idealHNF_mulred 18742
idnorm 5343
init_GRHcheck 42825
init_famat 15218
init_red_mod_units 210337
init_rel 2037
inverse_if_smaller 1781
isprincipal 53025
isprincipalall 264526
isprincipalarch 214138
isprincipalfact 34594
isprincipalfact_or_fail 30
isprincipalforce 0
isprincipalgen 0
isprincipalgenforce 0
log_m1 1505
low_prec 13980
makecycgen 917
makematal 28
makeunits 1527
my_class_group_gen 30
needed_bitprec 1075
neg_row 268
nfcyclotomicunits 2037
nfsign_from_logarch 5880
nfsign_units 5586
not_given 109
nthideal 3780
perm_log_embed 31996
powFBgen 455
powPgen 877
pr_index 9919
pr_orbit_fill 11851
pre_allocate 19408
prec_arch 289577
primeneeded 1890
reallocate 2058
recover_partFB 264575
red 3071
red_mod_units 210337
remove_content 3071
rnd_rel 3071
sbnf2bnf 7
scalar_get_arch_real 1323
set_fact 518573
setlg_col 189
shift_G 8880
shift_embed 13633
signunits 7
small_norm 15511
smooth_norm 1333388
split_ideal 263567
step 4523001
store 2219578
subFB_change 461
subFBgen 2037
tailres 34547
tailresback 69094
trim_list 18953
triv_arch 1789
triv_gen 9149
try_elt 1659
unclone_subFB 2037
wr_rel 0

Generated by: LCOV version 1.11