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 - buch3.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.0 lcov report (development 19832-7f23dbb) Lines: 1384 1477 93.7 %
Date: 2016-12-08 05:49:22 Functions: 103 107 96.3 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
ABC_to_bnr 266
Buchray 3934
Buchray_i 5075
Lbnrclassno 1260
ZM2_ZC2_mul 184596
ZMV_mul 938
ZM_content_mul 4312
bnfcertify 28
bnfcertify0 49
bnfnarrow 35
bnr_get_El 185884
bnr_get_U 202523
bnr_get_Ui 1505
bnr_grp 4312
bnr_log_gen_arch 6188
bnr_log_gen_pr 10234
bnrautmatrix 462
bnrchar 385
bnrchar_i 385
bnrchar_primitive 686
bnrclassno 112
bnrclassno0 105
bnrclassno_1 28
bnrclassno_all 280
bnrclassnolist 7
bnrconductor 0
bnrconductor0 56
bnrconductor_i 4676
bnrconductorofchar 2163
bnrdisc 175
bnrdisc0 175
bnrdisc_i 175
bnrdisclist0 42
bnrgaloisapply 1008
bnrgaloismatrix 238
bnrinit0 672
bnrisconductor 2058
bnrisconductor0 35
bnrisgalois 448
bnrisprincipal 188747
bnrsurjection 1505
bound_unit_index 49
char_denormalize 4172
check_bnrgal 448
check_prime 1540
check_subgroup 6923
chk_listBU 28
compute_M0 21
compute_fact 854
conductor_elts 448
contains 15155
decodemodule 21
dft_bound 0
discrayabslist 21
discrayabslistarch 21
factordivexact 378
factormul 994
factorpow 756
factorsplice 1008
fasmall_append 119
fast_val 4445
get_NR1D 406
get_classno 938
get_dataunit 4403
get_discdata 497
get_discray 497
get_nz 175
get_pi 420
get_pinvpi 217
hdet 805
hermiteconstant 49
ideallog_to_bnr 16422
ideallog_to_bnr_i 17976
idealmoddivisor 4214
idealmoddivisor_aux 4662
imageofchar 413
imageofgroup 364
init_bad 49
is_complex 616
is_unit 70483
is_zero 910
isprimitive 28
isprincipalray 183658
isprincipalraygen 0
lowerboundforregulator 49
make_integral_Z 70
minimforunits 35
minkowski_bound 0
nf_deg1_prime 14
prV_norms 98
primecertify 1540
regulatorbound 28
rnfconductor 364
rnfisabelian 42
rnfnormgroup 441
rnfnormgroup_i 805
rowselect_p 805
sprk_get_cyc 308
subgroup_conductor_ok 1085
subgroupcond 28
subgrouplist0 77
subgrouplist_cond_sub 420
too_big 4662
vecselect_p 1288
zimmertbound 49
zsimp 21
zsimpjoin 308

Generated by: LCOV version 1.11