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 21741-70cf009) Lines: 2303 2486 92.6 %
Date: 2018-01-21 06:18:30 Functions: 143 151 94.7 %
Legend: Lines: hit not hit

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

Generated by: LCOV version 1.11