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 - hnf_snf.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.0 lcov report (development 20459-9710128) Lines: 1485 1637 90.7 %
Date: 2017-04-29 05:33:44 Functions: 84 89 94.4 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
FpM_echelon 1111630
FpM_hnfend 1106248
FpV_Fp_mul_part_ip 2107840
FpV_red_part_ipvec 6257628
Minus 615097
RgC_elem 6
RgM_hnfall 18
RgM_reduce 24
RgX_normalize_all 144
ZC_elem 11453483
ZM_hnf 7542
ZM_hnf_knapsack 126
ZM_hnfall 2586
ZM_hnfall_i 83106
ZM_hnfcenter 912
ZM_hnflll 54433
ZM_hnfmod 60648
ZM_hnfmodall 1384332
ZM_hnfmodall_i 1388010
ZM_hnfmodid 1246344
ZM_hnfmodprime 1111630
ZM_hnfperm 198
ZM_reduce 1057128
ZM_rowrankprofile 51859
ZM_snf 186
ZM_snf_group 53118
ZM_snf_no_divide 111924
ZM_snfall 1824
ZM_snfall_i 58098
ZM_snfclean 57810
ZV_extgcd 12210
ZV_gcdext_i 12222
ZV_hnfgcdext 18
ZV_snf_group 4692
ZV_snf_trunc 192
ZV_snfall 4692
ZpM_echelon 35490
allhnfmod 77082
bezout_step 53994
col_dup 705942
col_mul 145896
count 2722827
count2 105631
do_zero 0
findi 32704012
findi_normalize 32704012
gbezout_step 228
gsmith 36
gsmithall 0
gsmithall_i 36
gsnf_no_divide 96
hnf 12
hnf_divscale 128172
hnf_i 5508
hnf_invimage 15972
hnf_invscale 11118
hnf_solve 11106
hnfadd 0
hnfadd_i 15025
hnfall 12
hnfallgen 6
hnfdivide 78
hnffinal 52057
hnflll 6
hnfmerge_get_1 126084
hnfmod 12
hnfmodid 77070
hnfperm 12
hnfspec 276
hnfspec_i 37032
hnfswap 2646264
is_RgX 798
mathnf0 132
mathnfspec 276
matsnf0 324
negcmpii 206923
p_mat 0
reduce1 225546
reduce2 16351829
remove_0cols 16092
reverse_rows 108866
smith 276
smithall 18
smithclean 462
snf_group 57810
snf_pile 55434
trivsmith 0
update 36474
zlm_echelon 609199

Generated by: LCOV version 1.11