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 21925-0da0e71) Lines: 1500 1646 91.1 %
Date: 2018-02-21 06:16:18 Functions: 84 89 94.4 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
do_zero 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
RgM_reduce 42
gsmith 42
gsmithall_i 42
hnfdivide 91
gsnf_no_divide 112
ZM_hnf_knapsack 161
mathnf0 210
normalize_as_RgX 210
ZV_snf_trunc 224
ZM_hnfperm 245
gbezout_step 266
ZM_snf 301
hnfspec 322
mathnfspec 322
smith 322
matsnf0 378
smithclean 539
is_RgX 1001
ZM_hnfcenter 1491
ZM_hnfall 3166
ZM_snfall 8163
hnfadd_i 17602
hnf_i 17665
ZM_hnf 20222
hnf_invscale 20790
hnfspec_i 25191
ZM_rowrankprofile 42436
hnffinal 42793
ZpM_echelon 47387
ZV_extgcd 50918
ZV_gcdext_i 50932
ZM_hnflll 51555
remove_0cols 53155
update 59133
ZV_snf_group 61299
ZV_snfall 61299
hnf_solve 63112
ZM_snf_group 64343
hnf_invimage 69447
ZM_snfall_i 76279
bezout_step 77257
reverse_rows 103110
count2 104198
ZM_hnfmod 112104
ZM_hnfall_i 115937
hnfmerge_get_1 123473
ZM_snfclean 125642
snf_group 125642
snf_pile 134000
ZM_snf_no_divide 156906
hnf_divscale 178548
col_mul 236532
hnfmodid 245901
allhnfmod 245915
negcmpii 360875
reduce1 368165
Minus 506340
col_dup 639918
zlm_echelon 769967
ZM_reduce 1355025
FpM_hnfend 1374468
FpM_echelon 1386594
ZM_hnfmodprime 1386594
ZM_hnfmodid 1656429
ZM_hnfmodall 2015127
ZM_hnfmodall_i 2019705
hnfswap 2446367
FpV_Fp_mul_part_ip 2571247
count 3115033
FpV_red_part_ipvec 9787872
reduce2 16913097
ZC_elem 19699368
findi 33827103
findi_normalize 33827103

Generated by: LCOV version 1.11