summaryrefslogtreecommitdiffstats
path: root/usr.bin
diff options
context:
space:
mode:
authorkevans <kevans@FreeBSD.org>2018-01-27 06:31:14 +0000
committerkevans <kevans@FreeBSD.org>2018-01-27 06:31:14 +0000
commit8b9d55ecf7a210ce459e6c61119d2cb6687fe459 (patch)
tree5df40aac4d2ffcafd38081706b2fdd69b947bbeb /usr.bin
parent803c47e38277420cacfe9899a8bf46cb9afb338e (diff)
downloadFreeBSD-src-8b9d55ecf7a210ce459e6c61119d2cb6687fe459.zip
FreeBSD-src-8b9d55ecf7a210ce459e6c61119d2cb6687fe459.tar.gz
MFC r320930,r324286: Add tests for hexdump(1)
MFC r320930: Add some basic tests for hexdump(1)'s various output flags. Formatting tests are omitted for this initial run as there are still some bugs to work out there. This covers -s flag testing on devices and non-devices that would have caught breakage found in PR 219173 as well as other subtle breakage caused locally. MFC r324286: hexdump: Remove expected test failures for now succeeding tests r323990 fixed the -s flag breakage reported by PR 219173. Mark the corresponding hexdump tests accordingly, since they should now both succeed. PR: 222781
Diffstat (limited to 'usr.bin')
-rw-r--r--usr.bin/hexdump/Makefile6
-rw-r--r--usr.bin/hexdump/tests/Makefile31
-rw-r--r--usr.bin/hexdump/tests/d_hexdump_UCflag_a.out2
-rw-r--r--usr.bin/hexdump/tests/d_hexdump_UCflag_b.out4
-rw-r--r--usr.bin/hexdump/tests/d_hexdump_UCflag_c.out4
-rw-r--r--usr.bin/hexdump/tests/d_hexdump_a.in1
-rw-r--r--usr.bin/hexdump/tests/d_hexdump_b.in2
-rw-r--r--usr.bin/hexdump/tests/d_hexdump_bflag_a.out2
-rw-r--r--usr.bin/hexdump/tests/d_hexdump_bflag_b.out4
-rw-r--r--usr.bin/hexdump/tests/d_hexdump_bflag_c.out4
-rw-r--r--usr.bin/hexdump/tests/d_hexdump_c.in1
-rw-r--r--usr.bin/hexdump/tests/d_hexdump_cflag_a.out2
-rw-r--r--usr.bin/hexdump/tests/d_hexdump_cflag_b.out4
-rw-r--r--usr.bin/hexdump/tests/d_hexdump_cflag_c.out4
-rw-r--r--usr.bin/hexdump/tests/d_hexdump_dflag_a.out2
-rw-r--r--usr.bin/hexdump/tests/d_hexdump_dflag_b.out4
-rw-r--r--usr.bin/hexdump/tests/d_hexdump_dflag_c.out4
-rw-r--r--usr.bin/hexdump/tests/d_hexdump_nflag_a.out2
-rw-r--r--usr.bin/hexdump/tests/d_hexdump_oflag_a.out2
-rw-r--r--usr.bin/hexdump/tests/d_hexdump_oflag_b.out4
-rw-r--r--usr.bin/hexdump/tests/d_hexdump_oflag_c.out4
-rw-r--r--usr.bin/hexdump/tests/d_hexdump_sflag_a.out2
-rw-r--r--usr.bin/hexdump/tests/d_hexdump_xflag_a.out2
-rw-r--r--usr.bin/hexdump/tests/d_hexdump_xflag_b.out4
-rw-r--r--usr.bin/hexdump/tests/d_hexdump_xflag_c.out4
-rwxr-xr-xusr.bin/hexdump/tests/hexdump_test.sh190
26 files changed, 295 insertions, 0 deletions
diff --git a/usr.bin/hexdump/Makefile b/usr.bin/hexdump/Makefile
index 4cd3cc5..d3c417f 100644
--- a/usr.bin/hexdump/Makefile
+++ b/usr.bin/hexdump/Makefile
@@ -1,6 +1,8 @@
# @(#)Makefile 8.1 (Berkeley) 6/6/93
# $FreeBSD$
+.include <src.opts.mk>
+
PROG= hexdump
SRCS= conv.c display.c hexdump.c hexsyntax.c odsyntax.c parse.c
MAN= hexdump.1 od.1
@@ -8,4 +10,8 @@ MLINKS= hexdump.1 hd.1
LINKS= ${BINDIR}/hexdump ${BINDIR}/od
LINKS+= ${BINDIR}/hexdump ${BINDIR}/hd
+.if ${MK_TESTS} != "no"
+SUBDIR+= tests
+.endif
+
.include <bsd.prog.mk>
diff --git a/usr.bin/hexdump/tests/Makefile b/usr.bin/hexdump/tests/Makefile
new file mode 100644
index 0000000..192e106
--- /dev/null
+++ b/usr.bin/hexdump/tests/Makefile
@@ -0,0 +1,31 @@
+# $FreeBSD$
+
+PACKAGE= tests
+
+ATF_TESTS_SH= hexdump_test
+
+${PACKAGE}FILES+= d_hexdump_a.in
+${PACKAGE}FILES+= d_hexdump_b.in
+${PACKAGE}FILES+= d_hexdump_c.in
+${PACKAGE}FILES+= d_hexdump_bflag_a.out
+${PACKAGE}FILES+= d_hexdump_bflag_b.out
+${PACKAGE}FILES+= d_hexdump_bflag_c.out
+${PACKAGE}FILES+= d_hexdump_cflag_a.out
+${PACKAGE}FILES+= d_hexdump_cflag_b.out
+${PACKAGE}FILES+= d_hexdump_cflag_c.out
+${PACKAGE}FILES+= d_hexdump_dflag_a.out
+${PACKAGE}FILES+= d_hexdump_dflag_b.out
+${PACKAGE}FILES+= d_hexdump_dflag_c.out
+${PACKAGE}FILES+= d_hexdump_nflag_a.out
+${PACKAGE}FILES+= d_hexdump_oflag_a.out
+${PACKAGE}FILES+= d_hexdump_oflag_b.out
+${PACKAGE}FILES+= d_hexdump_oflag_c.out
+${PACKAGE}FILES+= d_hexdump_sflag_a.out
+${PACKAGE}FILES+= d_hexdump_UCflag_a.out
+${PACKAGE}FILES+= d_hexdump_UCflag_b.out
+${PACKAGE}FILES+= d_hexdump_UCflag_c.out
+${PACKAGE}FILES+= d_hexdump_xflag_a.out
+${PACKAGE}FILES+= d_hexdump_xflag_b.out
+${PACKAGE}FILES+= d_hexdump_xflag_c.out
+
+.include <bsd.test.mk>
diff --git a/usr.bin/hexdump/tests/d_hexdump_UCflag_a.out b/usr.bin/hexdump/tests/d_hexdump_UCflag_a.out
new file mode 100644
index 0000000..b929e8f
--- /dev/null
+++ b/usr.bin/hexdump/tests/d_hexdump_UCflag_a.out
@@ -0,0 +1,2 @@
+00000000 54 65 73 74 0a |Test.|
+00000005
diff --git a/usr.bin/hexdump/tests/d_hexdump_UCflag_b.out b/usr.bin/hexdump/tests/d_hexdump_UCflag_b.out
new file mode 100644
index 0000000..44c0fb3a
--- /dev/null
+++ b/usr.bin/hexdump/tests/d_hexdump_UCflag_b.out
@@ -0,0 +1,4 @@
+00000000 54 68 65 20 71 75 69 63 6b 20 62 72 6f 77 6e 20 |The quick brown |
+00000010 66 6f 78 20 6a 75 6d 70 65 64 20 6f 76 65 72 20 |fox jumped over |
+00000020 74 68 65 20 62 6c 75 65 20 68 6f 75 73 65 0a 0a |the blue house..|
+00000030
diff --git a/usr.bin/hexdump/tests/d_hexdump_UCflag_c.out b/usr.bin/hexdump/tests/d_hexdump_UCflag_c.out
new file mode 100644
index 0000000..ee16184
--- /dev/null
+++ b/usr.bin/hexdump/tests/d_hexdump_UCflag_c.out
@@ -0,0 +1,4 @@
+00000000 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 |AAAAAAAAAAAAAAAA|
+*
+00000020 41 41 41 41 41 41 41 0a |AAAAAAA.|
+00000028
diff --git a/usr.bin/hexdump/tests/d_hexdump_a.in b/usr.bin/hexdump/tests/d_hexdump_a.in
new file mode 100644
index 0000000..345e6ae
--- /dev/null
+++ b/usr.bin/hexdump/tests/d_hexdump_a.in
@@ -0,0 +1 @@
+Test
diff --git a/usr.bin/hexdump/tests/d_hexdump_b.in b/usr.bin/hexdump/tests/d_hexdump_b.in
new file mode 100644
index 0000000..0fa9184
--- /dev/null
+++ b/usr.bin/hexdump/tests/d_hexdump_b.in
@@ -0,0 +1,2 @@
+The quick brown fox jumped over the blue house
+
diff --git a/usr.bin/hexdump/tests/d_hexdump_bflag_a.out b/usr.bin/hexdump/tests/d_hexdump_bflag_a.out
new file mode 100644
index 0000000..232ab77
--- /dev/null
+++ b/usr.bin/hexdump/tests/d_hexdump_bflag_a.out
@@ -0,0 +1,2 @@
+0000000 124 145 163 164 012
+0000005
diff --git a/usr.bin/hexdump/tests/d_hexdump_bflag_b.out b/usr.bin/hexdump/tests/d_hexdump_bflag_b.out
new file mode 100644
index 0000000..1bd7c9d
--- /dev/null
+++ b/usr.bin/hexdump/tests/d_hexdump_bflag_b.out
@@ -0,0 +1,4 @@
+0000000 124 150 145 040 161 165 151 143 153 040 142 162 157 167 156 040
+0000010 146 157 170 040 152 165 155 160 145 144 040 157 166 145 162 040
+0000020 164 150 145 040 142 154 165 145 040 150 157 165 163 145 012 012
+0000030
diff --git a/usr.bin/hexdump/tests/d_hexdump_bflag_c.out b/usr.bin/hexdump/tests/d_hexdump_bflag_c.out
new file mode 100644
index 0000000..c19f267
--- /dev/null
+++ b/usr.bin/hexdump/tests/d_hexdump_bflag_c.out
@@ -0,0 +1,4 @@
+0000000 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101
+*
+0000020 101 101 101 101 101 101 101 012
+0000028
diff --git a/usr.bin/hexdump/tests/d_hexdump_c.in b/usr.bin/hexdump/tests/d_hexdump_c.in
new file mode 100644
index 0000000..2304918
--- /dev/null
+++ b/usr.bin/hexdump/tests/d_hexdump_c.in
@@ -0,0 +1 @@
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
diff --git a/usr.bin/hexdump/tests/d_hexdump_cflag_a.out b/usr.bin/hexdump/tests/d_hexdump_cflag_a.out
new file mode 100644
index 0000000..c0f49ff
--- /dev/null
+++ b/usr.bin/hexdump/tests/d_hexdump_cflag_a.out
@@ -0,0 +1,2 @@
+0000000 T e s t \n
+0000005
diff --git a/usr.bin/hexdump/tests/d_hexdump_cflag_b.out b/usr.bin/hexdump/tests/d_hexdump_cflag_b.out
new file mode 100644
index 0000000..0d087ed
--- /dev/null
+++ b/usr.bin/hexdump/tests/d_hexdump_cflag_b.out
@@ -0,0 +1,4 @@
+0000000 T h e q u i c k b r o w n
+0000010 f o x j u m p e d o v e r
+0000020 t h e b l u e h o u s e \n \n
+0000030
diff --git a/usr.bin/hexdump/tests/d_hexdump_cflag_c.out b/usr.bin/hexdump/tests/d_hexdump_cflag_c.out
new file mode 100644
index 0000000..edebd59
--- /dev/null
+++ b/usr.bin/hexdump/tests/d_hexdump_cflag_c.out
@@ -0,0 +1,4 @@
+0000000 A A A A A A A A A A A A A A A A
+*
+0000020 A A A A A A A \n
+0000028
diff --git a/usr.bin/hexdump/tests/d_hexdump_dflag_a.out b/usr.bin/hexdump/tests/d_hexdump_dflag_a.out
new file mode 100644
index 0000000..148b1bc
--- /dev/null
+++ b/usr.bin/hexdump/tests/d_hexdump_dflag_a.out
@@ -0,0 +1,2 @@
+0000000 25940 29811 00010
+0000005
diff --git a/usr.bin/hexdump/tests/d_hexdump_dflag_b.out b/usr.bin/hexdump/tests/d_hexdump_dflag_b.out
new file mode 100644
index 0000000..e8b486c
--- /dev/null
+++ b/usr.bin/hexdump/tests/d_hexdump_dflag_b.out
@@ -0,0 +1,4 @@
+0000000 26708 08293 30065 25449 08299 29282 30575 08302
+0000010 28518 08312 30058 28781 25701 28448 25974 08306
+0000020 26740 08293 27746 25973 26656 30063 25971 02570
+0000030
diff --git a/usr.bin/hexdump/tests/d_hexdump_dflag_c.out b/usr.bin/hexdump/tests/d_hexdump_dflag_c.out
new file mode 100644
index 0000000..7a2d177
--- /dev/null
+++ b/usr.bin/hexdump/tests/d_hexdump_dflag_c.out
@@ -0,0 +1,4 @@
+0000000 16705 16705 16705 16705 16705 16705 16705 16705
+*
+0000020 16705 16705 16705 02625
+0000028
diff --git a/usr.bin/hexdump/tests/d_hexdump_nflag_a.out b/usr.bin/hexdump/tests/d_hexdump_nflag_a.out
new file mode 100644
index 0000000..2b7b61b4
--- /dev/null
+++ b/usr.bin/hexdump/tests/d_hexdump_nflag_a.out
@@ -0,0 +1,2 @@
+0000000 124
+0000001
diff --git a/usr.bin/hexdump/tests/d_hexdump_oflag_a.out b/usr.bin/hexdump/tests/d_hexdump_oflag_a.out
new file mode 100644
index 0000000..92b8c17
--- /dev/null
+++ b/usr.bin/hexdump/tests/d_hexdump_oflag_a.out
@@ -0,0 +1,2 @@
+0000000 062524 072163 000012
+0000005
diff --git a/usr.bin/hexdump/tests/d_hexdump_oflag_b.out b/usr.bin/hexdump/tests/d_hexdump_oflag_b.out
new file mode 100644
index 0000000..6e8c2615
--- /dev/null
+++ b/usr.bin/hexdump/tests/d_hexdump_oflag_b.out
@@ -0,0 +1,4 @@
+0000000 064124 020145 072561 061551 020153 071142 073557 020156
+0000010 067546 020170 072552 070155 062145 067440 062566 020162
+0000020 064164 020145 066142 062565 064040 072557 062563 005012
+0000030
diff --git a/usr.bin/hexdump/tests/d_hexdump_oflag_c.out b/usr.bin/hexdump/tests/d_hexdump_oflag_c.out
new file mode 100644
index 0000000..26a0760
--- /dev/null
+++ b/usr.bin/hexdump/tests/d_hexdump_oflag_c.out
@@ -0,0 +1,4 @@
+0000000 040501 040501 040501 040501 040501 040501 040501 040501
+*
+0000020 040501 040501 040501 005101
+0000028
diff --git a/usr.bin/hexdump/tests/d_hexdump_sflag_a.out b/usr.bin/hexdump/tests/d_hexdump_sflag_a.out
new file mode 100644
index 0000000..c7179d5
--- /dev/null
+++ b/usr.bin/hexdump/tests/d_hexdump_sflag_a.out
@@ -0,0 +1,2 @@
+0000004 012
+0000005
diff --git a/usr.bin/hexdump/tests/d_hexdump_xflag_a.out b/usr.bin/hexdump/tests/d_hexdump_xflag_a.out
new file mode 100644
index 0000000..adba00a
--- /dev/null
+++ b/usr.bin/hexdump/tests/d_hexdump_xflag_a.out
@@ -0,0 +1,2 @@
+0000000 6554 7473 000a
+0000005
diff --git a/usr.bin/hexdump/tests/d_hexdump_xflag_b.out b/usr.bin/hexdump/tests/d_hexdump_xflag_b.out
new file mode 100644
index 0000000..75911e7
--- /dev/null
+++ b/usr.bin/hexdump/tests/d_hexdump_xflag_b.out
@@ -0,0 +1,4 @@
+0000000 6854 2065 7571 6369 206b 7262 776f 206e
+0000010 6f66 2078 756a 706d 6465 6f20 6576 2072
+0000020 6874 2065 6c62 6575 6820 756f 6573 0a0a
+0000030
diff --git a/usr.bin/hexdump/tests/d_hexdump_xflag_c.out b/usr.bin/hexdump/tests/d_hexdump_xflag_c.out
new file mode 100644
index 0000000..39bb73a
--- /dev/null
+++ b/usr.bin/hexdump/tests/d_hexdump_xflag_c.out
@@ -0,0 +1,4 @@
+0000000 4141 4141 4141 4141 4141 4141 4141 4141
+*
+0000020 4141 4141 4141 0a41
+0000028
diff --git a/usr.bin/hexdump/tests/hexdump_test.sh b/usr.bin/hexdump/tests/hexdump_test.sh
new file mode 100755
index 0000000..52b493f
--- /dev/null
+++ b/usr.bin/hexdump/tests/hexdump_test.sh
@@ -0,0 +1,190 @@
+#
+# Copyright (c) 2017 Kyle Evans <kevans@FreeBSD.org>
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# $FreeBSD$
+
+atf_test_case b_flag
+b_flag_head()
+{
+ atf_set "descr" "Verify -b output"
+}
+b_flag_body()
+{
+ atf_check -o file:"$(atf_get_srcdir)/d_hexdump_bflag_a.out" \
+ hexdump -b "$(atf_get_srcdir)/d_hexdump_a.in"
+ atf_check -o file:"$(atf_get_srcdir)/d_hexdump_bflag_b.out" \
+ hexdump -b "$(atf_get_srcdir)/d_hexdump_b.in"
+ atf_check -o file:"$(atf_get_srcdir)/d_hexdump_bflag_c.out" \
+ hexdump -b "$(atf_get_srcdir)/d_hexdump_c.in"
+}
+
+atf_test_case c_flag
+c_flag_head()
+{
+ atf_set "descr" "Verify -c output"
+}
+c_flag_body()
+{
+ atf_check -o file:"$(atf_get_srcdir)/d_hexdump_cflag_a.out" \
+ hexdump -c "$(atf_get_srcdir)/d_hexdump_a.in"
+ atf_check -o file:"$(atf_get_srcdir)/d_hexdump_cflag_b.out" \
+ hexdump -c "$(atf_get_srcdir)/d_hexdump_b.in"
+ atf_check -o file:"$(atf_get_srcdir)/d_hexdump_cflag_c.out" \
+ hexdump -c "$(atf_get_srcdir)/d_hexdump_c.in"
+}
+
+atf_test_case C_flag
+C_flag_head()
+{
+ atf_set "descr" "Verify -C output"
+}
+C_flag_body()
+{
+ atf_check -o file:"$(atf_get_srcdir)/d_hexdump_UCflag_a.out" \
+ hexdump -C "$(atf_get_srcdir)/d_hexdump_a.in"
+ atf_check -o file:"$(atf_get_srcdir)/d_hexdump_UCflag_b.out" \
+ hexdump -C "$(atf_get_srcdir)/d_hexdump_b.in"
+ atf_check -o file:"$(atf_get_srcdir)/d_hexdump_UCflag_c.out" \
+ hexdump -C "$(atf_get_srcdir)/d_hexdump_c.in"
+}
+
+atf_test_case hd_name
+hd_name_head()
+{
+ atf_set "descr" "Verify hd output matching -C output"
+}
+hd_name_body()
+{
+ atf_check -o file:"$(atf_get_srcdir)/d_hexdump_UCflag_a.out" \
+ hd "$(atf_get_srcdir)/d_hexdump_a.in"
+ atf_check -o file:"$(atf_get_srcdir)/d_hexdump_UCflag_b.out" \
+ hd "$(atf_get_srcdir)/d_hexdump_b.in"
+ atf_check -o file:"$(atf_get_srcdir)/d_hexdump_UCflag_c.out" \
+ hd "$(atf_get_srcdir)/d_hexdump_c.in"
+}
+
+atf_test_case d_flag
+d_flag_head()
+{
+ atf_set "descr" "Verify -d output"
+}
+d_flag_body()
+{
+ atf_check -o file:"$(atf_get_srcdir)/d_hexdump_dflag_a.out" \
+ hexdump -d "$(atf_get_srcdir)/d_hexdump_a.in"
+ atf_check -o file:"$(atf_get_srcdir)/d_hexdump_dflag_b.out" \
+ hexdump -d "$(atf_get_srcdir)/d_hexdump_b.in"
+ atf_check -o file:"$(atf_get_srcdir)/d_hexdump_dflag_c.out" \
+ hexdump -d "$(atf_get_srcdir)/d_hexdump_c.in"
+}
+
+atf_test_case n_flag
+n_flag_head()
+{
+ atf_set "descr" "Check -n functionality"
+}
+n_flag_body()
+{
+ atf_check -o empty hexdump -bn 0 "$(atf_get_srcdir)/d_hexdump_a.in"
+ atf_check -o file:"$(atf_get_srcdir)/d_hexdump_nflag_a.out" \
+ hexdump -bn 1 "$(atf_get_srcdir)/d_hexdump_a.in"
+}
+
+atf_test_case o_flag
+o_flag_head()
+{
+ atf_set "descr" "Verify -o output"
+}
+o_flag_body()
+{
+ atf_check -o file:"$(atf_get_srcdir)/d_hexdump_oflag_a.out" \
+ hexdump -o "$(atf_get_srcdir)/d_hexdump_a.in"
+ atf_check -o file:"$(atf_get_srcdir)/d_hexdump_oflag_b.out" \
+ hexdump -o "$(atf_get_srcdir)/d_hexdump_b.in"
+ atf_check -o file:"$(atf_get_srcdir)/d_hexdump_oflag_c.out" \
+ hexdump -o "$(atf_get_srcdir)/d_hexdump_c.in"
+}
+
+atf_test_case s_flag
+s_flag_head()
+{
+ atf_set "descr" "Verify -s output"
+}
+s_flag_body()
+{
+ atf_check -o file:"$(atf_get_srcdir)/d_hexdump_sflag_a.out" \
+ hexdump -bs 4 "$(atf_get_srcdir)/d_hexdump_a.in"
+
+ atf_check -o not-empty hexdump -n 100 -s 1024 /dev/random
+}
+
+atf_test_case v_flag
+v_flag_head()
+{
+ atf_set "descr" "Verify -v functionality"
+}
+v_flag_body()
+{
+ for i in $(seq 0 7); do
+ atf_check -o match:"^\*$" \
+ hexdump -s ${i} "$(atf_get_srcdir)/d_hexdump_c.in"
+ atf_check -o not-match:"^\*$" \
+ hexdump -vs ${i} "$(atf_get_srcdir)/d_hexdump_c.in"
+ done
+
+ atf_check -o not-match:"^\*$" \
+ hexdump -s 8 "$(atf_get_srcdir)/d_hexdump_c.in"
+ atf_check -o not-match:"^\*$" \
+ hexdump -vs 8 "$(atf_get_srcdir)/d_hexdump_c.in"
+}
+
+atf_test_case x_flag
+x_flag_head()
+{
+ atf_set "descr" "Verify -x output"
+}
+x_flag_body()
+{
+ atf_check -o file:"$(atf_get_srcdir)/d_hexdump_xflag_a.out" \
+ hexdump -x "$(atf_get_srcdir)/d_hexdump_a.in"
+ atf_check -o file:"$(atf_get_srcdir)/d_hexdump_xflag_b.out" \
+ hexdump -x "$(atf_get_srcdir)/d_hexdump_b.in"
+ atf_check -o file:"$(atf_get_srcdir)/d_hexdump_xflag_c.out" \
+ hexdump -x "$(atf_get_srcdir)/d_hexdump_c.in"
+}
+
+atf_init_test_cases()
+{
+ atf_add_test_case b_flag
+ atf_add_test_case c_flag
+ atf_add_test_case C_flag
+ atf_add_test_case hd_name
+ atf_add_test_case d_flag
+ atf_add_test_case n_flag
+ atf_add_test_case o_flag
+ atf_add_test_case s_flag
+ atf_add_test_case v_flag
+ atf_add_test_case x_flag
+}
OpenPOWER on IntegriCloud