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 17097-9391e68) Lines: 1338 1485 90.1 %
Date: 2014-11-21 Functions: 71 78 91.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1107 1385 79.9 %

Function Name Sort by function name Hit count Sort by hit count
findi 16943124
findi_normalize 16943124
ZC_elem 15136075
FpV_red_part_ipvec 10769822
reduce2 8471477
count 1936463
ZM_hnfmodall_i 1853032
ZM_hnfmodall 1850357
ZM_hnfmodid 1681136
hnfswap 1196692
ZM_reduce 860493
FpV_Fp_mul_part_ip 673583
col_dup 294058
Minus 212618
col_mul 187860
reduce1 177415
ZM_hnfmod 169051
negcmpii 161185
zlm_echelon 130835
hnfmerge_get_1 128209
ZM_snf_no_divide 97075
ZM_hnfall 74144
hnf_invimage 63000
bezout_step 52370
count2 50004
update 46965
ZpM_echelon 33515
ZM_snfall_i 26610
snf_pile 25975
reverse_rows 25052
ZM_snf_group 22955
ZM_snfclean 22955
hnf_divscale 18590
hnf_solve 15530
remove_0cols 12807
ZM_hnflll 12526
hnffinal 11517
mathnf0 7915
ZV_hnfgcdext 7840
ZV_gcdext_i 7835
hnfadd_i 6553
ZM_hnf 6203
hnf_i 5075
hnfspec_i 4964
ZM_snfall 1050
is_RgX 665
ZM_hnfcenter 515
smithclean 375
matsnf0 260
smithall 215
gbezout_step 190
ZM_hnfperm 175
ZM_snf 155
RgX_normalize_all 120
mathnfspec 95
hnfspec 95
gsnf_no_divide 80
hnfdivide 65
allhnfmod 60
hnfmodid 50
gsmithall_i 30
gsmith 30
RgM_reduce 20
smith 20
RgM_hnfall 15
hnfall 10
hnfmod 10
hnfperm 10
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