diff options
Diffstat (limited to '')
-rwxr-xr-x | testsuite/hexdump.tests | 101 |
1 files changed, 79 insertions, 22 deletions
diff --git a/testsuite/hexdump.tests b/testsuite/hexdump.tests index 517ec508b..d2c0a5dc8 100755 --- a/testsuite/hexdump.tests +++ b/testsuite/hexdump.tests | |||
@@ -5,6 +5,17 @@ | |||
5 | 5 | ||
6 | . ./testing.sh | 6 | . ./testing.sh |
7 | 7 | ||
8 | input=\ | ||
9 | "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"\ | ||
10 | "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"\ | ||
11 | "\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"\ | ||
12 | "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"\ | ||
13 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" | ||
14 | |||
15 | little_endian=false | ||
16 | { printf '\0\1' | hexdump -d | grep -q 256; } && little_endian=true | ||
17 | readonly little_endian | ||
18 | |||
8 | # testing "description" "command" "result" "infile" "stdin" | 19 | # testing "description" "command" "result" "infile" "stdin" |
9 | testing 'hexdump -C with four NULs' \ | 20 | testing 'hexdump -C with four NULs' \ |
10 | 'hexdump -C' \ | 21 | 'hexdump -C' \ |
@@ -43,12 +54,17 @@ testing "hexdump -e %3_u" \ | |||
43 | 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f | 54 | 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f |
44 | f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff | 55 | f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff |
45 | " \ | 56 | " \ |
46 | "" \ | 57 | "" "$input" |
47 | "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"\ | 58 | |
48 | "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"\ | 59 | testing "hexdump -e %3_c" \ |
49 | "\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"\ | 60 | "hexdump -e '16/1 \" %3_c\" \"\n\"'" \ |
50 | "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"\ | 61 | ' \\0 001 002 003 004 005 006 \\a \\b \\t \\n \\v \\f \\r 016 017 |
51 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"\ | 62 | 020 021 022 023 024 025 026 027 030 031 032 033 034 035 036 037 |
63 | p q r s t u v w x y z { | } ~ 177 | ||
64 | 200 201 202 203 204 205 206 207 210 211 212 213 214 215 216 217 | ||
65 | 360 361 362 363 364 365 366 367 370 371 372 373 374 375 376 377 | ||
66 | ' \ | ||
67 | "" "$input" | ||
52 | 68 | ||
53 | testing "hexdump -e /1 %d" \ | 69 | testing "hexdump -e /1 %d" \ |
54 | "hexdump -e '16/1 \" %4d\" \"\n\"'" \ | 70 | "hexdump -e '16/1 \" %4d\" \"\n\"'" \ |
@@ -59,33 +75,74 @@ testing "hexdump -e /1 %d" \ | |||
59 | -128 -127 -126 -125 -124 -123 -122 -121 -120 -119 -118 -117 -116 -115 -114 -113 | 75 | -128 -127 -126 -125 -124 -123 -122 -121 -120 -119 -118 -117 -116 -115 -114 -113 |
60 | -16 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 | 76 | -16 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 |
61 | " \ | 77 | " \ |
62 | "" \ | 78 | "" "$input" |
63 | "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"\ | ||
64 | "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"\ | ||
65 | "\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"\ | ||
66 | "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"\ | ||
67 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"\ | ||
68 | 79 | ||
69 | testing "hexdump -e /2 %d" \ | 80 | $little_endian || SKIP=1 |
70 | "hexdump -e '8/2 \" %6d\" \"\n\"'" \ | 81 | testing "hexdump -e /2 %d (little endian)" \ |
71 | "\ | 82 | "hexdump -e '8/2 \" %6d\" \"\n\"'" \ |
83 | "\ | ||
72 | 256 770 1284 1798 2312 2826 3340 3854 | 84 | 256 770 1284 1798 2312 2826 3340 3854 |
73 | 4368 4882 5396 5910 6424 6938 7452 7966 | 85 | 4368 4882 5396 5910 6424 6938 7452 7966 |
74 | 29040 29554 30068 30582 31096 31610 32124 32638 | 86 | 29040 29554 30068 30582 31096 31610 32124 32638 |
75 | -32384 -31870 -31356 -30842 -30328 -29814 -29300 -28786 | 87 | -32384 -31870 -31356 -30842 -30328 -29814 -29300 -28786 |
76 | -3600 -3086 -2572 -2058 -1544 -1030 -516 -2 | 88 | -3600 -3086 -2572 -2058 -1544 -1030 -516 -2 |
77 | " \ | 89 | " \ |
78 | "" \ | 90 | "" "$input" |
79 | "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"\ | 91 | SKIP= |
80 | "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"\ | 92 | |
81 | "\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"\ | 93 | $little_endian && SKIP=1 |
82 | "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"\ | 94 | testing "hexdump -e /2 %d (big endian)" \ |
83 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"\ | 95 | "hexdump -e '8/2 \" %6d\" \"\n\"'" \ |
96 | "\ | ||
97 | 1 515 1029 1543 2057 2571 3085 3599 | ||
98 | 4113 4627 5141 5655 6169 6683 7197 7711 | ||
99 | 28785 29299 29813 30327 30841 31355 31869 32383 | ||
100 | -32639 -32125 -31611 -31097 -30583 -30069 -29555 -29041 | ||
101 | -3855 -3341 -2827 -2313 -1799 -1285 -771 -257 | ||
102 | " \ | ||
103 | "" "$input" | ||
104 | SKIP= | ||
84 | 105 | ||
85 | testing "hexdump -n4 -e '\"%u\"'" \ | 106 | $little_endian || SKIP=1 |
107 | testing "hexdump -e /2 %x (little endian)" \ | ||
108 | "hexdump -e '8/2 \" %6x\" \"\n\"'" \ | ||
109 | "\ | ||
110 | 100 302 504 706 908 b0a d0c f0e | ||
111 | 1110 1312 1514 1716 1918 1b1a 1d1c 1f1e | ||
112 | 7170 7372 7574 7776 7978 7b7a 7d7c 7f7e | ||
113 | 8180 8382 8584 8786 8988 8b8a 8d8c 8f8e | ||
114 | f1f0 f3f2 f5f4 f7f6 f9f8 fbfa fdfc fffe | ||
115 | " \ | ||
116 | "" "$input" | ||
117 | SKIP= | ||
118 | |||
119 | $little_endian && SKIP=1 | ||
120 | testing "hexdump -e /2 %x (big endian)" \ | ||
121 | "hexdump -e '8/2 \" %6x\" \"\n\"'" \ | ||
122 | "\ | ||
123 | 1 203 405 607 809 a0b c0d e0f | ||
124 | 1011 1213 1415 1617 1819 1a1b 1c1d 1e1f | ||
125 | 7071 7273 7475 7677 7879 7a7b 7c7d 7e7f | ||
126 | 8081 8283 8485 8687 8889 8a8b 8c8d 8e8f | ||
127 | f0f1 f2f3 f4f5 f6f7 f8f9 fafb fcfd feff | ||
128 | " \ | ||
129 | "" "$input" | ||
130 | SKIP= | ||
131 | |||
132 | $little_endian || SKIP=1 | ||
133 | testing "hexdump -n4 -e '\"%u\"' (little endian)" \ | ||
86 | "hexdump -n4 -e '\"%u\"'" \ | 134 | "hexdump -n4 -e '\"%u\"'" \ |
87 | "12345678" \ | 135 | "12345678" \ |
88 | "" \ | 136 | "" \ |
89 | "\x4e\x61\xbc\x00AAAA" | 137 | "\x4e\x61\xbc\x00AAAA" |
138 | SKIP= | ||
139 | |||
140 | $little_endian && SKIP=1 | ||
141 | testing "hexdump -n4 -e '\"%u\"' (big endian)" \ | ||
142 | "hexdump -n4 -e '\"%u\"'" \ | ||
143 | "1315027968" \ | ||
144 | "" \ | ||
145 | "\x4e\x61\xbc\x00AAAA" | ||
146 | SKIP= | ||
90 | 147 | ||
91 | exit $FAILCOUNT | 148 | exit $FAILCOUNT |