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 to exceed 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.12.0 lcov report (development 23353-42c433a02) Lines: 1508 1658 91.0 %
Date: 2018-12-15 05:41:59 Functions: 86 92 93.5 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
do_zero 0
gsmith 0
gsmithall 0
hnfadd 0
p_mat 0
trivsmith 0
RgC_elem 7
hnflll 7
hnf 14
hnfall 14
hnfallgen 14
hnfmod 14
hnfperm 14
ZV_hnfgcdext 21
smithall 21
RgM_hnfall 35
RgXM_snf 35
RgM_reduce 42
hnfdivide 91
gsnf_no_divide 112
ZM_hnf_knapsack 182
normalize_as_RgX 210
mathnf0 217
ZV_snf_trunc 224
ZM_hnfperm 266
gbezout_step 266
hnfspec 322
mathnfspec 322
smith 322
matsnf0 378
ZM_snf 427
smithclean 539
is_RgX 1001
ZM_hnfcenter 1750
ZM_hnfall 3640
ZM_snfall 11267
ZV_allequal 15722
hnf_i 18288
hnfadd_i 20334
ZM_hnf 21347
hnfspec_i 27964
hnf_invscale 28511
ZM_rowrankprofile 47815
hnffinal 48298
ZpM_echelon 49834
ZM_hnflll 60120
remove_0cols 72586
update 77381
ZV_extgcd 87577
ZV_gcdext_i 87591
ZM_snf_group 89039
bezout_step 95503
hnf_solve 98476
ZV_snf_group 99190
ZV_snfall 99190
ZM_snfall_i 104170
hnf_invimage 106736
reverse_rows 120240
ZM_hnfall_i 133505
count2 157465
ZM_hnfmod 161919
hnfmerge_get_1 165593
hnf_divscale 176660
ZM_snfclean 188229
snf_group 188229
ZM_snf_no_divide 188274
snf_pile 199026
hnfmodid 281822
allhnfmod 281836
col_mul 309524
reduce1 473130
negcmpii 474834
Minus 557098
col_dup 681837
zlm_echelon 849540
ZM_reduce 1467116
must_swap 1472819
FpM_echelon 1639890
ZM_hnfmodprime 1639897
FpM_hnfend 1639912
FpV_Fp_mul_part_ip 2814821
hnfswap 2976232
ZM_hnfmodid 3036920
ZM_hnfmodall 3481530
optimal_D 3486667
ZM_hnfmodall_i 3486743
count 3873107
reduce2 20767679
FpV_red_part_ipvec 22546965
ZC_elem 24211222
findi 41536729
findi_normalize 41536729

Generated by: LCOV version 1.13