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 20459-9710128) Lines: 1392 1479 94.1 %
Date: 2017-04-27 05:33:52 Functions: 104 108 96.3 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
ABC_to_bnr 228
Buchray 3408
Buchray_i 4452
Lbnrclassno 1080
ZM2_ZC2_mul 163164
ZMV_mul 804
ZM_content_mul 3768
bnfcertify 24
bnfcertify0 42
bnfnarrow 30
bnr_get_El 164268
bnr_get_U 178704
bnr_get_Ui 1332
bnr_grp 3768
bnr_log_gen_arch 5340
bnr_log_gen_pr 8868
bnrautmatrix 396
bnrchar 354
bnrchar_i 354
bnrchar_primitive 612
bnrclassno 96
bnrclassno0 90
bnrclassno_1 24
bnrclassno_all 240
bnrclassnolist 6
bnrconductor 0
bnrconductor0 48
bnrconductor_i 4086
bnrconductorofchar 1854
bnrdisc 150
bnrdisc0 150
bnrdisc_i 150
bnrdisclist0 36
bnrgaloisapply 864
bnrgaloismatrix 204
bnrinit0 588
bnrisconductor 1764
bnrisconductor0 30
bnrisgalois 384
bnrisprincipal 166794
bnrsurjection 1332
bound_unit_index 42
char_denormalize 3696
check_bnrgal 384
check_prime 1320
check_subgroup 6012
chk_listBU 24
compute_M0 18
compute_fact 774
conductor_elts 384
contains 13122
decodemodule 18
dft_bound 0
discrayabslist 18
discrayabslistarch 18
factordivexact 324
factormul 852
factorpow 648
factorsplice 864
fasmall_append 102
fast_val 3684
get_NR1D 348
get_classno 804
get_dataunit 3846
get_discdata 426
get_discray 426
get_nz 150
get_pi 456
get_pinvpi 234
hdet 690
hermiteconstant 42
ideallog_to_bnr 14208
ideallog_to_bnr_i 15540
idealmoddivisor 3612
idealmoddivisor_aux 3990
imageofchar 378
imageofgroup 330
init_bad 42
is_complex 528
is_unit 60414
is_zero 780
isprimitive 24
isprincipalray 157764
isprincipalraygen 0
lowerboundforregulator 42
make_integral_Z 66
minimforunits 30
minkowski_bound 0
nf_deg1_prime 18
prV_norms 84
primecertify 1320
regulatorbound 24
rnfconductor 336
rnfisabelian 42
rnfisabelian_i 60
rnfnormgroup 378
rnfnormgroup_i 714
rowselect_p 690
sprk_get_cyc 264
subgroup_conductor_ok 930
subgroupcond 24
subgrouplist0 66
subgrouplist_cond_sub 360
too_big 3990
vecselect_p 1104
zimmertbound 42
zsimp 18
zsimpjoin 264

Generated by: LCOV version 1.11