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-bordeaux1.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 - hnf_snf.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 16746-c2cb716) Lines: 1338 1485 90.1 %
Date: 2014-08-31 Functions: 71 78 91.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1105 1385 79.8 %

Function Name Sort by function name Hit count Sort by hit count
findi 16883804
findi_normalize 16883804
ZC_elem 16753599
FpV_red_part_ipvec 12297796
reduce2 8441812
ZM_hnfmodall_i 2146510
ZM_hnfmodall 2143935
ZM_hnfmodid 1937799
count 1932928
hnfswap 1187706
ZM_reduce 859187
FpV_Fp_mul_part_ip 788743
col_dup 290523
Minus 209241
ZM_hnfmod 205956
col_mul 188848
reduce1 177415
hnfmerge_get_1 164590
negcmpii 161369
zlm_echelon 129566
ZM_snf_no_divide 97316
ZM_hnfall 74129
hnf_invimage 62785
bezout_step 52587
count2 49435
update 47212
ZpM_echelon 33406
ZM_snfall_i 26690
snf_pile 26105
reverse_rows 24742
ZM_snf_group 22925
ZM_snfclean 22925
hnf_divscale 18355
hnf_solve 15285
remove_0cols 12602
ZM_hnflll 12371
hnffinal 11392
mathnf0 7915
ZV_hnfgcdext 7840
ZV_gcdext_i 7835
hnfadd_i 6748
ZM_hnf 6178
hnf_i 4995
hnfspec_i 4644
ZM_snfall 1035
is_RgX 950
smithclean 490
ZM_hnfcenter 475
matsnf0 375
smithall 330
gbezout_step 275
ZM_snf 160
RgX_normalize_all 145
gsnf_no_divide 100
ZM_hnfperm 100
mathnfspec 95
hnfspec 95
allhnfmod 70
hnfdivide 65
hnfmodid 55
gsmithall_i 35
gsmith 35
smith 30
RgM_reduce 20
hnfall 15
hnfmod 15
hnfperm 15
RgM_hnfall 15
hnfallgen 5
RgC_elem 5
hnflll 5
hnf 0
p_mat 0
hnfadd 0
ZV_extgcd 0
gsmithall 0
do_zero 0
trivsmith 0

Generated by: LCOV version 1.9