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.8.0 lcov report (development 19355-c7ae729) Lines: 2329 2495 93.3 %
Date: 2016-08-26 06:12:17 Functions: 137 145 94.5 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Buchall 1203
Buchall_deg1 427
Buchall_param 2134
FB_aut_perm 1854
FBgen 1854
Fincke_Pohst_ideal 314205
GRHchk 15678
GRHok 421475
SPLIT 272628
Vbase_to_FB 9921
act_arch 503357
addRe_modIm 657729
add_cyclotomic_units 1854
add_principal_part 33826
add_rel 446713
add_rel_i 500301
add_to_fact 13440
already_known 500168
assign_subFB 1981
automorphism_matrices 1707
automorphism_perms 1707
bad_subFB 8206
be_honest 7
bestappr_noer 3204
bnfcompress 7
bnfinit0 938
bnfisprincipal0 233427
bnfisunit 2310
bnfnewprec 14
bnfnewprec_shallow 34
bnftosbnf 7
bnrnewprec 7
bnrnewprec_shallow 0
buchall_end 2141
cache_prime_dec 33608
can_factor 1333460
check_and_build_cycgen 5754
check_and_build_matal 48
class_group_gen 1748
clean_cols 7366
cleanarch 250476
codeprime 49
codeprimes 7
compute_R 3204
compute_invres 1707
compute_multiple_of_R 7702
compute_multiple_of_R_pivot 821664
compute_vecG 1707
dbg_cancelrel 0
dbg_newrel 0
decode_pr_lists 7
decodeprime 49
delete_FB 1854
delete_cache 1854
divide_p 1152319
divide_p_elt 889165
divide_p_id 49332
divide_p_quo 213822
exp_OK 1440
expand 0
expandext 33840
extract_full_lattice 1776
fact_ok 211332
factorgen 290747
famat_get_arch_real 1334
famat_to_arch 1639
free_GRHcheck 42656
get_Vbase 257191
get_arch 178319
get_arch_real 6847
get_archclean 106
get_clfu 2141
get_fs 269566
get_log_embed 42380
get_norm_fact 210258
get_norm_fact_primes 1530
get_pr_lists 257130
get_random_ideal 2828
get_regulator 41
get_y 1544
getfu 1776
idnorm 4473
init_GRHcheck 42656
init_famat 14810
init_red_mod_units 207630
init_rel 1854
init_units 5509
inverse_if_smaller 1491
isprincipal 47628
isprincipalall 257074
isprincipalarch 212432
isprincipalfact 33789
isprincipalfact_or_fail 51
isprincipalforce 0
isprincipalgen 0
isprincipalgenforce 0
log_m1 1364
low_prec 13588
makecycgen 1463
makematal 34
my_class_group_gen 34
needed_bitprec 1100
neg_row 190
nfbasic_from_sbnf 7
nfcyclotomicunits 1854
nfsign_from_logarch 7280
nfsign_units 6650
not_given 76
nthideal 3414
perm_log_embed 25778
powFBgen 358
powPgen 668
pr_index 9970
pre_allocate 17216
prec_arch 282128
primeneeded 1707
reallocate 1875
recover_partFB 257123
red 2828
red_mod_units 207630
remove_content 2828
rnd_rel 2828
sbnf2bnf 7
scalar_get_arch_real 1309
set_fact 437440
setlg_col 162
shift_G 8026
shift_embed 12316
signunits 7
small_norm 13596
smooth_norm 1238125
split_ideal 256171
step 4289419
store 1889048
subFB_change 442
subFBgen 1854
tailres 31072
tailresback 62144
testprimes 49
trim_list 16858
triv_arch 1463
triv_gen 10213
try_elt 1659
unclone_subFB 1854
wr_rel 0

Generated by: LCOV version 1.11