| #!/bin/bash |
| |
| # This file is part of util-linux. |
| # |
| # This file is free software; you can redistribute it and/or modify |
| # it under the terms of the GNU General Public License as published by |
| # the Free Software Foundation; either version 2 of the License, or |
| # (at your option) any later version. |
| # |
| # This file is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| # GNU General Public License for more details. |
| # |
| TS_TOPDIR="${0%/*}/../.." |
| TS_DESC="format-strings" |
| FILES="$TS_TOPDIR/ts/hexdump/files" |
| #sample input consists of hexdump-ed results of the following py3script: |
| #for i in range(256): |
| # print(chr(i), end= ' ') |
| |
| . $TS_TOPDIR/functions.sh |
| ts_init "$*" |
| |
| ts_check_test_command "$TS_CMD_HEXDUMP" |
| |
| # on big endian systems some of the subtests have different expected output |
| BYTE_ORDER=$($TS_HELPER_SYSINFO byte-order) |
| BE_EXT=$(test "$BYTE_ORDER" = "BE" && echo ".BE") |
| |
| #885314 |
| ts_init_subtest "empty-format" |
| TS_EXPECTED+=$BE_EXT |
| INPUT=$(printf \\1) |
| $TS_CMD_HEXDUMP -n1 -ve '2 "" "%x"' <<< $INPUT >> $TS_OUTPUT 2>&1 |
| |
| $TS_CMD_HEXDUMP -n1 -ve '4 "%x"' -e '2 ""' <<< $INPUT >> $TS_OUTPUT 2>&1 |
| ts_finalize_subtest |
| |
| #basic formats |
| ts_init_subtest "1b_octal" |
| $TS_CMD_HEXDUMP -b $FILES/ascii.in &> $TS_OUTPUT |
| ts_finalize_subtest |
| |
| ts_init_subtest "1b_char" |
| $TS_CMD_HEXDUMP -c $FILES/ascii.in &> $TS_OUTPUT |
| ts_finalize_subtest |
| |
| ts_init_subtest "canon" |
| $TS_CMD_HEXDUMP -C $FILES/ascii.in &> $TS_OUTPUT |
| ts_finalize_subtest |
| |
| ts_init_subtest "2b_dec" |
| TS_EXPECTED+=$BE_EXT |
| $TS_CMD_HEXDUMP -d $FILES/ascii.in &> $TS_OUTPUT |
| ts_finalize_subtest |
| |
| ts_init_subtest "2b_octal" |
| TS_EXPECTED+=$BE_EXT |
| $TS_CMD_HEXDUMP -o $FILES/ascii.in &> $TS_OUTPUT |
| ts_finalize_subtest |
| |
| ts_init_subtest "2b_hex" |
| TS_EXPECTED+=$BE_EXT |
| $TS_CMD_HEXDUMP -x $FILES/ascii.in &> $TS_OUTPUT |
| ts_finalize_subtest |
| |
| ts_finalize |