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 21703-2e13792) Lines: 2303 2486 92.6 %
Date: 2018-01-17 06:18:31 Functions: 143 151 94.7 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
bnrnewprec_shallow 0
dbg_cancelrel 0
dbg_newrel 0
expand 0
isprincipalforce 0
isprincipalgen 0
isprincipalgenforce 0
wr_rel 0
be_honest 7
bnfcompress 7
bnrnewprec 7
codeprimes 7
decode_pr_lists 7
sbnf2bnf 7
signunits 7
bnfnewprec 14
makematal 28
bnfnewprec_shallow 30
isprincipalfact_or_fail 30
my_class_group_gen 30
bnf_build_matalpha 37
get_regulator 37
bnftestprimes 49
codeprime 49
decodeprime 49
get_archclean 106
not_given 110
neg_row 254
subFB_change 404
powFBgen 412
Buchall_deg1 469
setlg_col 483
get_norm_fact_primes 775
get_y 790
powPgen 799
needed_bitprec 1075
bnfinit0 1148
scalar_get_arch_real 1323
famat_get_arch_real 1334
try_elt 1659
makecycgen 1771
bnfisunit 2310
log_m1 2730
get_random_ideal 2799
red 2799
remove_content 2799
rnd_rel 2799
exp_OK 2840
inv_fact 2934
makeunits 4782
inverse_if_smaller 6226
famat_to_arch 6803
triv_arch 6871
get_arch_real 6959
Buchall 7273
automorphism_perms 7945
compute_invres 7945
compute_vecG 7945
primeneeded 7945
class_group_gen 7982
automorphism_matrices 7994
extract_full_lattice 8048
getfu 8048
FB_aut_perm 8092
FBgen 8092
add_cyclotomic_units 8092
delete_FB 8092
delete_cache 8092
init_rel 8092
nfcyclotomicunits 8092
subFBgen 8092
unclone_subFB 8092
reallocate 8113
assign_subFB 8195
bnf_build_cycgen 8225
Buchall_param 8414
buchall_end 8421
get_clfu 8421
RgV_is1 8814
compute_R 9607
bestappr_noer 9608
clean_cols 10018
Vbase_to_FB 10577
pr_index 10626
pr_orbit_fill 11851
shift_G 12555
low_prec 13980
nfsign_from_logarch 14497
add_to_fact 15160
compute_multiple_of_R 15338
nthideal 15890
idealHNF_mulred 17328
shift_embed 18533
idnorm 18678
init_famat 21869
isprincipalfact 22302
add_principal_part 22310
expandext 22332
nfsign_units 22554
small_norm 24134
free_GRHcheck 24156
init_GRHcheck 24156
bnf_build_units 27001
trim_list 27304
pre_allocate 27716
bad_subFB 33285
perm_log_embed 47996
triv_gen 51898
GRHchk 58832
get_log_embed 82335
isprincipal 98462
divide_p_id 101329
cache_prime_dec 125359
tailres 138518
init_red_mod_units 211002
red_mod_units 211002
get_arch 221477
divide_p_quo 228948
get_norm_fact 241769
fact_ok 242869
isprincipalarch 243944
GRHok 275881
tailresback 277036
cleanarch 324805
split_ideal 332643
recover_partFB 332692
get_pr_lists 332699
bnf_get_W 332708
bnf_get_vbase 332757
isprincipalall 333602
factorgen 334740
prec_arch 341034
Fincke_Pohst_ideal 342803
SPLIT 348981
bnfisprincipal0 363159
set_fact 546720
add_rel 571925
act_arch 599626
already_known 650392
add_rel_i 650532
bnf_get_B 666280
bnf_get_C 674694
addRe_modIm 744059
compute_multiple_of_R_pivot 852795
get_fs 918526
divide_p_elt 1096252
divide_p 1426529
smooth_norm 1459421
can_factor 1570198
store 2321026
step 4538246

Generated by: LCOV version 1.11