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 16624-25b9976) Lines: 1338 1485 90.1 %
Date: 2014-06-24 Functions: 71 78 91.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1106 1385 79.9 %

Function Name Sort by function name Hit count Sort by hit count
findi 23970631
findi_normalize 23970631
ZC_elem 21690866
FpV_red_part_ipvec 13885150
reduce2 11985223
ZM_hnfmodall_i 2245612
ZM_hnfmodall 2243002
ZM_hnfmodid 2036889
count 2016428
hnfswap 1247996
ZM_reduce 869024
FpV_Fp_mul_part_ip 788144
col_dup 294946
Minus 214269
ZM_hnfmod 205933
col_mul 185332
reduce1 177087
hnfmerge_get_1 164562
negcmpii 158874
zlm_echelon 129674
ZM_snf_no_divide 96017
ZM_hnfall 74185
hnf_invimage 62100
count2 52337
bezout_step 51673
update 46333
ZpM_echelon 33484
ZM_snfall_i 26595
snf_pile 26010
reverse_rows 25366
ZM_snf_group 22820
ZM_snfclean 22820
hnf_divscale 18426
hnf_solve 15190
remove_0cols 12745
ZM_hnflll 12683
hnffinal 11665
mathnf0 7914
ZV_hnfgcdext 7839
ZV_gcdext_i 7834
hnfadd_i 6972
ZM_hnf 6281
hnf_i 5021
hnfspec_i 4693
ZM_snfall 1045
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
ZV_gcdext 0
p_mat 0
hnfadd 0
gsmithall 0
do_zero 0
trivsmith 0

Generated by: LCOV version 1.9