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 to exceed 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 - buch3.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.12.0 lcov report (development 23348-5caea72e3) Lines: 1405 1489 94.4 %
Date: 2018-12-14 05:41:32 Functions: 105 109 96.3 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
bnrconductor 0
dft_bound 0
isprincipalraygen 0
minkowski_bound 0
bnrclassnolist 7
compute_M0 21
decodemodule 21
discrayabslist 21
discrayabslistarch 21
is_module 21
nf_deg1_prime 21
zsimp 21
bnfcertify 28
bnrclassno_1 28
chk_listBU 28
isprimitive 28
regulatorbound 28
subgroupcond 28
bnfnarrow 35
bnrisconductor0 35
minimforunits 35
bnrdisclist0 42
bnfcertify0 49
bound_unit_index 49
hermiteconstant 49
init_bad 49
lowerboundforregulator 49
rnfisabelian 49
zimmertbound 49
bnrconductor0 56
rnfisabelian_i 70
subgrouplist0 77
prV_norms 98
bnrclassno0 105
bnrclassno 112
fasmall_append 119
bnrdisc 175
bnrdisc0 175
bnrdisc_i 175
get_nz 175
bnrgaloismatrix 238
ABC_to_bnr 266
bnrclassno_all 280
sprk_get_cyc 308
zsimpjoin 308
rnfconductor 364
bnrchar 378
bnrchar_i 378
factordivexact 385
get_NR1D 406
imageofchar 413
subgrouplist_cond_sub 420
bnrisgalois 448
check_bnrgal 448
conductor_elts 448
bnrautmatrix 462
get_discdata 497
get_discray 497
is_complex 616
imageofgroup 630
bnrchar_primitive 693
factorpow 770
rnfnormgroup 770
hdet 805
rowselect_p 805
is_zero 910
ZMV_mul 938
get_classno 938
bnrgaloisapply 1008
factormul 1008
factorsplice 1008
subgroup_conductor_ok 1085
rnfnormgroup_i 1134
Lbnrclassno 1260
vecselect_p 1344
check_prime 1540
primecertify 1540
bnr_get_Ui 1792
bnrsurjection 1792
bnrconductorofchar 2177
make_integral_Z 4081
idealmoddivisor 4214
get_pinvpi 4361
bnrconductor_i 5026
get_pi 8778
bnr_log_gen_arch 14392
idealmoddivisor_aux 15183
fast_val 15701
too_big 15701
compute_fact 25753
ZM_content_mul 36477
bnr_grp 36477
get_dataunit 36561
bnrinit0 38122
Buchray 41461
Buchray_i 42868
is_unit 70483
check_subgroup 80591
bnrisconductor 91140
bnr_log_gen_pr 92351
contains 105476
ideallog_to_bnr 106743
ideallog_to_bnr_i 110971
char_denormalize 160209
ZM2_ZC2_mul 297590
bnr_get_El 298934
isprincipalray 346037
bnrisprincipal 357643
bnr_get_U 406125

Generated by: LCOV version 1.13