| #!/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 |