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.1 lcov report (development 22726-9e20c6a88) Lines: 2354 2497 94.3 %
Date: 2018-06-23 05:36:28 Functions: 146 155 94.2 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Buchall 7379
Buchall_deg1 518
Buchall_param 8548
FB_aut_perm 8205
FBgen 8205
Fincke_Pohst_ideal 1580089
GRHchk 59473
GRHok 277061
RgM_bit 10302
RgV_is1 8888
SPLIT 353525
Vbase_to_FB 10534
act_arch 601262
addRe_modIm 1297453
add_cyclotomic_units 8205
add_principal_part 22391
add_rel 609070
add_rel_i 694907
add_to_fact 16796
already_known 694766
assign_subFB 8969
automorphism_matrices 8079
automorphism_perms 8030
bad_check 10301
bad_subFB 33892
be_honest 28
bnf_build_cycgen 8295
bnf_build_matalpha 38
bnf_build_units 27191
bnf_get_B 675369
bnf_get_C 683773
bnf_get_W 337254
bnf_get_vbase 337303
bnfcompress 7
bnfinit0 1176
bnfisprincipal0 368031
bnfisunit 2310
bnfnewprec 14
bnfnewprec_shallow 31
bnftestprimes 49
bnrnewprec 7
bnrnewprec_shallow 0
buchall_end 8555
cache_prime_dec 126648
can_factor 3190360
class_group_gen 8068
clean_cols 11176
cleanarch 541564
codeprime 49
codeprimes 7
compute_R 10302
compute_invres 8030
compute_multiple_of_R 16559
compute_multiple_of_R_pivot 857217
compute_vecG 8030
dbg_cancelrel 0
dbg_newrel 0
decode_pr_lists 7
decodeprime 49
delete_FB 8205
delete_cache 8205
divide_p 1532185
divide_p_elt 1185050
divide_p_id 103717
divide_p_quo 243418
exp_OK 2855
expand 0
expandext 22409
extract_full_lattice 8126
fact_ok 243924
factorgen 1920827
famat_get_arch_real 1334
famat_to_arch 6965
free_GRHcheck 24304
get_arch 220895
get_arch_real 7008
get_archclean 106
get_clfu 8555
get_fs 933589
get_log_embed 104187
get_norm_fact 242785
get_norm_fact_primes 885
get_pr_lists 337243
get_random_ideal 25987
get_regulator 38
get_y 896
getfu 8126
i2print 0
idealHNF_mulred 1562
idealmulpowprimered 15772
idnorm 18768
init_GRHcheck 24304
init_famat 39599
init_red_mod_units 211190
init_rel 8205
inv_fact 2922
inverse_if_smaller 6256
isprincipal 102025
isprincipalall 338146
isprincipalarch 245070
isprincipalfact 22309
isprincipalfact_or_fail 100
isprincipalforce 0
isprincipalgen 0
isprincipalgenforce 0
log_m1 2745
low_prec 13924
makecycgen 1841
makematal 29
makeunits 4874
my_class_group_gen 31
needed_bitprec 1146
neg_row 250
nfcyclotomicunits 8205
nfsign_from_logarch 14490
nfsign_units 22603
not_given 110
nthideal 16060
perm_log_embed 49373
powFBgen 1109
powPgen 1656
pr_index 10583
pr_orbit_fill 11878
pre_allocate 63887
prec_arch 345567
primeneeded 8030
reallocate 8226
recover_partFB 337236
red 25987
red_mod_units 211190
remove_content 27326
rnd_rel 25987
sbnf2bnf 7
scalar_bit 1501250
scalar_get_arch_real 1379
set_fact 578044
setlg_col 483
shift_G 12649
shift_embed 18668
signunits 7
small_norm 36413
smooth_norm 3079067
split_ideal 337187
step 11013750
store 2478735
subFB_change 3083
subFBgen 8205
tailres 140038
tailresback 280076
trim_list 62778
triv_arch 6856
triv_gen 52304
try_elt 5320
unclone_subFB 8205
wr_rel 0

Generated by: LCOV version 1.13