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 20084-3366ab4) Lines: 2334 2492 93.7 %
Date: 2017-01-19 05:50:13 Functions: 142 150 94.7 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Buchall 1239
Buchall_deg1 462
Buchall_param 2359
FB_aut_perm 2044
FBgen 2044
Fincke_Pohst_ideal 330982
GRHchk 17588
GRHok 423301
RgV_is1 15499
SPLIT 302858
Vbase_to_FB 9870
act_arch 531992
addRe_modIm 728335
add_cyclotomic_units 2044
add_principal_part 47426
add_rel 529078
add_rel_i 589827
add_to_fact 14613
already_known 589687
assign_subFB 2190
automorphism_matrices 1946
automorphism_perms 1897
bad_subFB 9086
be_honest 7
bestappr_noer 3707
bnf_build_cycgen 3129
bnf_build_matalpha 37
bnf_build_units 16074
bnf_get_B 287514
bnf_get_C 603091
bnf_get_W 287544
bnf_get_vbase 287593
bnfcompress 7
bnfinit0 1127
bnfisprincipal0 252580
bnfisunit 2310
bnfnewprec 14
bnfnewprec_shallow 30
bnftestprimes 49
bnrnewprec 7
bnrnewprec_shallow 0
buchall_end 2366
cache_prime_dec 37159
can_factor 1473521
class_group_gen 1934
clean_cols 8315
cleanarch 279058
codeprime 49
codeprimes 7
compute_R 3707
compute_invres 1897
compute_multiple_of_R 8756
compute_multiple_of_R_pivot 847870
compute_vecG 1897
dbg_cancelrel 0
dbg_newrel 0
decode_pr_lists 7
decodeprime 49
delete_FB 2044
delete_cache 2044
divide_p 1320289
divide_p_elt 1046719
divide_p_id 51368
divide_p_quo 222202
exp_OK 1621
expand 0
expandext 47448
extract_full_lattice 1999
fact_ok 235743
factorgen 326830
famat_get_arch_real 1334
famat_to_arch 1931
free_GRHcheck 42832
get_arch 199252
get_arch_real 6959
get_archclean 106
get_clfu 2366
get_fs 306712
get_log_embed 49017
get_norm_fact 235371
get_norm_fact_primes 775
get_pr_lists 287535
get_random_ideal 3071
get_regulator 37
get_y 790
getfu 1999
idealHNF_mulred 18742
idnorm 5343
init_GRHcheck 42832
init_famat 15225
init_red_mod_units 233556
init_rel 2044
inverse_if_smaller 1781
isprincipal 53123
isprincipalall 287479
isprincipalarch 236818
isprincipalfact 47418
isprincipalfact_or_fail 30
isprincipalforce 0
isprincipalgen 0
isprincipalgenforce 0
log_m1 1512
low_prec 13980
makecycgen 917
makematal 28
makeunits 1562
my_class_group_gen 30
needed_bitprec 1075
neg_row 268
nfcyclotomicunits 2044
nfsign_from_logarch 5887
nfsign_units 5670
not_given 109
nthideal 3794
perm_log_embed 32017
powFBgen 455
powPgen 877
pr_index 9919
pr_orbit_fill 11851
pre_allocate 19415
prec_arch 315554
primeneeded 1897
reallocate 2065
recover_partFB 287528
red 3071
red_mod_units 233556
remove_content 3071
rnd_rel 3071
sbnf2bnf 7
scalar_get_arch_real 1323
set_fact 518853
setlg_col 189
shift_G 8901
shift_embed 13661
signunits 7
small_norm 15518
smooth_norm 1354171
split_ideal 286520
step 4523897
store 2220628
subFB_change 461
subFBgen 2044
tailres 34652
tailresback 69304
trim_list 18960
triv_arch 1789
triv_gen 12558
try_elt 1659
unclone_subFB 2044
wr_rel 0

Generated by: LCOV version 1.11