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 21196-f12677d) Lines: 2303 2486 92.6 %
Date: 2017-10-22 06:23:24 Functions: 143 151 94.7 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Buchall 7490
Buchall_deg1 469
Buchall_param 8631
FB_aut_perm 8309
FBgen 8309
Fincke_Pohst_ideal 343446
GRHchk 60148
GRHok 276483
RgV_is1 8817
SPLIT 353796
Vbase_to_FB 10619
act_arch 604180
addRe_modIm 746979
add_cyclotomic_units 8309
add_principal_part 22313
add_rel 573496
add_rel_i 652635
add_to_fact 14747
already_known 652495
assign_subFB 8440
automorphism_matrices 8211
automorphism_perms 8162
bad_subFB 34307
be_honest 7
bestappr_noer 9839
bnf_build_cycgen 8225
bnf_build_matalpha 37
bnf_build_units 26980
bnf_get_B 675910
bnf_get_C 684331
bnf_get_W 337523
bnf_get_vbase 337572
bnfcompress 7
bnfinit0 1148
bnfisprincipal0 368591
bnfisunit 2310
bnfnewprec 14
bnfnewprec_shallow 30
bnftestprimes 49
bnrnewprec 7
bnrnewprec_shallow 0
buchall_end 8638
cache_prime_dec 128194
can_factor 1580521
class_group_gen 8199
clean_cols 9969
cleanarch 328115
codeprime 49
codeprimes 7
compute_R 9838
compute_invres 8162
compute_multiple_of_R 15506
compute_multiple_of_R_pivot 850448
compute_vecG 8162
dbg_cancelrel 0
dbg_newrel 0
decode_pr_lists 7
decodeprime 49
delete_FB 8309
delete_cache 8309
divide_p 1431421
divide_p_elt 1099203
divide_p_id 100777
divide_p_quo 231441
exp_OK 2833
expand 0
expandext 22331
extract_full_lattice 8258
fact_ok 244654
factorgen 338880
famat_get_arch_real 1334
famat_to_arch 7014
free_GRHcheck 24275
get_arch 223462
get_arch_real 6959
get_archclean 102
get_clfu 8638
get_fs 939225
get_log_embed 83084
get_norm_fact 243469
get_norm_fact_primes 775
get_pr_lists 337514
get_random_ideal 2890
get_regulator 37
get_y 786
getfu 8258
idealHNF_mulred 17426
idnorm 19371
init_GRHcheck 24275
init_famat 22219
init_red_mod_units 211078
init_rel 8309
inv_fact 2934
inverse_if_smaller 6457
isprincipal 101948
isprincipalall 338417
isprincipalarch 245721
isprincipalfact 22309
isprincipalfact_or_fail 22
isprincipalforce 0
isprincipalgen 0
isprincipalgenforce 0
log_m1 2730
low_prec 13980
makecycgen 1855
makematal 28
makeunits 4894
my_class_group_gen 30
needed_bitprec 1067
neg_row 268
nfcyclotomicunits 8309
nfsign_from_logarch 14497
nfsign_units 22533
not_given 103
nthideal 16324
perm_log_embed 48164
powFBgen 440
powPgen 883
pr_index 10668
pr_orbit_fill 11851
pre_allocate 27975
prec_arch 345856
primeneeded 8162
reallocate 8330
recover_partFB 337507
red 2890
red_mod_units 211078
remove_content 2890
rnd_rel 2890
sbnf2bnf 7
scalar_get_arch_real 1323
set_fact 547584
setlg_col 532
shift_G 12555
shift_embed 18533
signunits 7
small_norm 24274
smooth_norm 1467987
split_ideal 337458
step 4533009
store 2325242
subFB_change 432
subFBgen 8309
tailres 142228
tailresback 284456
trim_list 27535
triv_arch 7095
triv_gen 52514
try_elt 1659
unclone_subFB 8309
wr_rel 0

Generated by: LCOV version 1.11