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 20443-183d202) Lines: 1392 1479 94.1 %
Date: 2017-03-27 05:17:48 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 190
Buchray 2840
Buchray_i 3710
Lbnrclassno 900
ZM2_ZC2_mul 135970
ZMV_mul 670
ZM_content_mul 3140
bnfcertify 20
bnfcertify0 35
bnfnarrow 25
bnr_get_El 136890
bnr_get_U 148920
bnr_get_Ui 1110
bnr_grp 3140
bnr_log_gen_arch 4450
bnr_log_gen_pr 7390
bnrautmatrix 330
bnrchar 295
bnrchar_i 295
bnrchar_primitive 510
bnrclassno 80
bnrclassno0 75
bnrclassno_1 20
bnrclassno_all 200
bnrclassnolist 5
bnrconductor 0
bnrconductor0 40
bnrconductor_i 3405
bnrconductorofchar 1545
bnrdisc 125
bnrdisc0 125
bnrdisc_i 125
bnrdisclist0 30
bnrgaloisapply 720
bnrgaloismatrix 170
bnrinit0 490
bnrisconductor 1470
bnrisconductor0 25
bnrisgalois 320
bnrisprincipal 138995
bnrsurjection 1110
bound_unit_index 35
char_denormalize 3080
check_bnrgal 320
check_prime 1100
check_subgroup 5010
chk_listBU 20
compute_M0 15
compute_fact 645
conductor_elts 320
contains 10935
decodemodule 15
dft_bound 0
discrayabslist 15
discrayabslistarch 15
factordivexact 270
factormul 710
factorpow 540
factorsplice 720
fasmall_append 85
fast_val 3070
get_NR1D 290
get_classno 670
get_dataunit 3205
get_discdata 355
get_discray 355
get_nz 125
get_pi 380
get_pinvpi 195
hdet 575
hermiteconstant 35
ideallog_to_bnr 11840
ideallog_to_bnr_i 12950
idealmoddivisor 3010
idealmoddivisor_aux 3325
imageofchar 315
imageofgroup 275
init_bad 35
is_complex 440
is_unit 50345
is_zero 650
isprimitive 20
isprincipalray 131470
isprincipalraygen 0
lowerboundforregulator 35
make_integral_Z 55
minimforunits 25
minkowski_bound 0
nf_deg1_prime 15
prV_norms 70
primecertify 1100
regulatorbound 20
rnfconductor 280
rnfisabelian 35
rnfisabelian_i 50
rnfnormgroup 315
rnfnormgroup_i 595
rowselect_p 575
sprk_get_cyc 220
subgroup_conductor_ok 775
subgroupcond 20
subgrouplist0 55
subgrouplist_cond_sub 300
too_big 3325
vecselect_p 920
zimmertbound 35
zsimp 15
zsimpjoin 220

Generated by: LCOV version 1.11