xref: /aosp_15_r20/external/toybox/tests/hexdump.test (revision cf5a6c84e2b8763fc1a7db14496fd4742913b199)
1*cf5a6c84SAndroid Build Coastguard Worker#!/bin/bash
2*cf5a6c84SAndroid Build Coastguard Worker
3*cf5a6c84SAndroid Build Coastguard Worker[ -f testing.sh ] && . testing.sh
4*cf5a6c84SAndroid Build Coastguard Worker
5*cf5a6c84SAndroid Build Coastguard Workertestcmd "simple file" "input" "0000000 6973 706d 656c 000a\n0000007\n" "simple\\n" ""
6*cf5a6c84SAndroid Build Coastguard Workertestcmd "simple file -b" "-b input" "0000000 163 151 155 160 154 145 012\n0000007\n" "simple\\n" ""
7*cf5a6c84SAndroid Build Coastguard Workertestcmd "simple file -c" "-c input" "0000000   s   i   m   p   l   e  \\\\n\n0000007\n" "simple\\n" ""
8*cf5a6c84SAndroid Build Coastguard Workertestcmd "simple file -d" "-d input" "0000000 26995 28781 25964 00010\n0000007\n" "simple\\n" ""
9*cf5a6c84SAndroid Build Coastguard Workertestcmd "simple file -o" "-o input" "0000000 064563 070155 062554 000012\n0000007\n" "simple\\n" ""
10*cf5a6c84SAndroid Build Coastguard Workertestcmd "simple file -x" "-x input" "0000000 6973 706d 656c 000a\n0000007\n" "simple\\n" ""
11*cf5a6c84SAndroid Build Coastguard Worker
12*cf5a6c84SAndroid Build Coastguard Workertestcmd \
13*cf5a6c84SAndroid Build Coastguard Worker  "simple file canonical output -C" \
14*cf5a6c84SAndroid Build Coastguard Worker  "-C input" \
15*cf5a6c84SAndroid Build Coastguard Worker  "\
16*cf5a6c84SAndroid Build Coastguard Worker00000000  73 69 6d 70 6c 65 0a                              |simple.|\n\
17*cf5a6c84SAndroid Build Coastguard Worker00000007\n" \
18*cf5a6c84SAndroid Build Coastguard Worker  "simple\n" \
19*cf5a6c84SAndroid Build Coastguard Worker  ""
20*cf5a6c84SAndroid Build Coastguard Workertestcmd \
21*cf5a6c84SAndroid Build Coastguard Worker  "simple file canonical output -C multiline" \
22*cf5a6c84SAndroid Build Coastguard Worker  "-C input" \
23*cf5a6c84SAndroid Build Coastguard Worker  "\
24*cf5a6c84SAndroid Build Coastguard Worker00000000  73 69 6d 70 6c 65 0a 62  61 72 66 6f 6f 62 61 72  |simple.barfoobar|\n\
25*cf5a6c84SAndroid Build Coastguard Worker00000010  66 6f 6f 62 61 72 0a                              |foobar.|\n\
26*cf5a6c84SAndroid Build Coastguard Worker00000017\n" \
27*cf5a6c84SAndroid Build Coastguard Worker  "\
28*cf5a6c84SAndroid Build Coastguard Workersimple\n\
29*cf5a6c84SAndroid Build Coastguard Workerbarfoobarfoobar\n" \
30*cf5a6c84SAndroid Build Coastguard Worker  ""
31*cf5a6c84SAndroid Build Coastguard Worker
32*cf5a6c84SAndroid Build Coastguard Workertestcmd \
33*cf5a6c84SAndroid Build Coastguard Worker  "head of file -n 10" \
34*cf5a6c84SAndroid Build Coastguard Worker  "-n 10 input" \
35*cf5a6c84SAndroid Build Coastguard Worker  "\
36*cf5a6c84SAndroid Build Coastguard Worker0000000 6973 706d 656c 730a 6d69\n\
37*cf5a6c84SAndroid Build Coastguard Worker000000a\n" \
38*cf5a6c84SAndroid Build Coastguard Worker  "simple\nsimple\n" \
39*cf5a6c84SAndroid Build Coastguard Worker  ""
40*cf5a6c84SAndroid Build Coastguard Workertestcmd \
41*cf5a6c84SAndroid Build Coastguard Worker  "skip head of file -s 10" \
42*cf5a6c84SAndroid Build Coastguard Worker  "-s 10 input" \
43*cf5a6c84SAndroid Build Coastguard Worker  "\
44*cf5a6c84SAndroid Build Coastguard Worker000000a 6c70 0a65\n\
45*cf5a6c84SAndroid Build Coastguard Worker000000e\n" \
46*cf5a6c84SAndroid Build Coastguard Worker  "simple\nsimple\n" \
47*cf5a6c84SAndroid Build Coastguard Worker  ""
48*cf5a6c84SAndroid Build Coastguard Worker
49*cf5a6c84SAndroid Build Coastguard Workertestcmd \
50*cf5a6c84SAndroid Build Coastguard Worker  "squeeze repeating lines" \
51*cf5a6c84SAndroid Build Coastguard Worker  "input" \
52*cf5a6c84SAndroid Build Coastguard Worker  "\
53*cf5a6c84SAndroid Build Coastguard Worker0000000 6161 6161 6161 6161 6161 6161 6161 0a61\n\
54*cf5a6c84SAndroid Build Coastguard Worker*\n\
55*cf5a6c84SAndroid Build Coastguard Worker0000070 6f66 006f\n\
56*cf5a6c84SAndroid Build Coastguard Worker0000073\n" \
57*cf5a6c84SAndroid Build Coastguard Worker  "\
58*cf5a6c84SAndroid Build Coastguard Workeraaaaaaaaaaaaaaa\n\
59*cf5a6c84SAndroid Build Coastguard Workeraaaaaaaaaaaaaaa\n\
60*cf5a6c84SAndroid Build Coastguard Workeraaaaaaaaaaaaaaa\n\
61*cf5a6c84SAndroid Build Coastguard Workeraaaaaaaaaaaaaaa\n\
62*cf5a6c84SAndroid Build Coastguard Workeraaaaaaaaaaaaaaa\n\
63*cf5a6c84SAndroid Build Coastguard Workeraaaaaaaaaaaaaaa\n\
64*cf5a6c84SAndroid Build Coastguard Workeraaaaaaaaaaaaaaa\n\
65*cf5a6c84SAndroid Build Coastguard Workerfoo" \
66*cf5a6c84SAndroid Build Coastguard Worker  ""
67*cf5a6c84SAndroid Build Coastguard Workertestcmd \
68*cf5a6c84SAndroid Build Coastguard Worker  "squeeze repeating lines" \
69*cf5a6c84SAndroid Build Coastguard Worker  "input" \
70*cf5a6c84SAndroid Build Coastguard Worker  "\
71*cf5a6c84SAndroid Build Coastguard Worker0000000 6161 6161 6161 6161 6161 6161 6161 0a61\n\
72*cf5a6c84SAndroid Build Coastguard Worker*\n\
73*cf5a6c84SAndroid Build Coastguard Worker0000030 6262 6262 6262 6262 6262 6262 6262 0a62\n\
74*cf5a6c84SAndroid Build Coastguard Worker0000040 6161 6161 6161 6161 6161 6161 6161 0a61\n\
75*cf5a6c84SAndroid Build Coastguard Worker*\n\
76*cf5a6c84SAndroid Build Coastguard Worker0000070 6262 6262 6262 6262 6262 6262 6262 0a62\n\
77*cf5a6c84SAndroid Build Coastguard Worker0000080\n" \
78*cf5a6c84SAndroid Build Coastguard Worker  "\
79*cf5a6c84SAndroid Build Coastguard Workeraaaaaaaaaaaaaaa\n\
80*cf5a6c84SAndroid Build Coastguard Workeraaaaaaaaaaaaaaa\n\
81*cf5a6c84SAndroid Build Coastguard Workeraaaaaaaaaaaaaaa\n\
82*cf5a6c84SAndroid Build Coastguard Workerbbbbbbbbbbbbbbb\n\
83*cf5a6c84SAndroid Build Coastguard Workeraaaaaaaaaaaaaaa\n\
84*cf5a6c84SAndroid Build Coastguard Workeraaaaaaaaaaaaaaa\n\
85*cf5a6c84SAndroid Build Coastguard Workeraaaaaaaaaaaaaaa\n\
86*cf5a6c84SAndroid Build Coastguard Workerbbbbbbbbbbbbbbb\n" \
87*cf5a6c84SAndroid Build Coastguard Worker  ""
88*cf5a6c84SAndroid Build Coastguard Workertestcmd \
89*cf5a6c84SAndroid Build Coastguard Worker  "don't squeeze repeating lines" \
90*cf5a6c84SAndroid Build Coastguard Worker  "-v input" \
91*cf5a6c84SAndroid Build Coastguard Worker  "\
92*cf5a6c84SAndroid Build Coastguard Worker0000000 6161 6161 6161 6161 6161 6161 6161 0a61\n\
93*cf5a6c84SAndroid Build Coastguard Worker0000010 6161 6161 6161 6161 6161 6161 6161 0a61\n\
94*cf5a6c84SAndroid Build Coastguard Worker0000020 6161 6161 6161 6161 6161 6161 6161 0a61\n\
95*cf5a6c84SAndroid Build Coastguard Worker0000030 6161 6161 6161 6161 6161 6161 6161 0a61\n\
96*cf5a6c84SAndroid Build Coastguard Worker0000040 6161 6161 6161 6161 6161 6161 6161 0a61\n\
97*cf5a6c84SAndroid Build Coastguard Worker0000050 6161 6161 6161 6161 6161 6161 6161 0a61\n\
98*cf5a6c84SAndroid Build Coastguard Worker0000060 6161 6161 6161 6161 6161 6161 6161 0a61\n\
99*cf5a6c84SAndroid Build Coastguard Worker0000070 6f66 006f\n\
100*cf5a6c84SAndroid Build Coastguard Worker0000073\n" \
101*cf5a6c84SAndroid Build Coastguard Worker  "\
102*cf5a6c84SAndroid Build Coastguard Workeraaaaaaaaaaaaaaa\n\
103*cf5a6c84SAndroid Build Coastguard Workeraaaaaaaaaaaaaaa\n\
104*cf5a6c84SAndroid Build Coastguard Workeraaaaaaaaaaaaaaa\n\
105*cf5a6c84SAndroid Build Coastguard Workeraaaaaaaaaaaaaaa\n\
106*cf5a6c84SAndroid Build Coastguard Workeraaaaaaaaaaaaaaa\n\
107*cf5a6c84SAndroid Build Coastguard Workeraaaaaaaaaaaaaaa\n\
108*cf5a6c84SAndroid Build Coastguard Workeraaaaaaaaaaaaaaa\n\
109*cf5a6c84SAndroid Build Coastguard Workerfoo" \
110*cf5a6c84SAndroid Build Coastguard Worker  ""
111*cf5a6c84SAndroid Build Coastguard Worker
112*cf5a6c84SAndroid Build Coastguard Workerfor _ in {1..25}; do echo "foobar" >> file1; done
113*cf5a6c84SAndroid Build Coastguard Workerfor _ in {1..25}; do echo "buzzbar" >> file2; done
114*cf5a6c84SAndroid Build Coastguard Worker
115*cf5a6c84SAndroid Build Coastguard Workertestcmd \
116*cf5a6c84SAndroid Build Coastguard Worker  "accumulate offset accross files" \
117*cf5a6c84SAndroid Build Coastguard Worker  "file1 file2" \
118*cf5a6c84SAndroid Build Coastguard Worker  "0000000 6f66 626f 7261 660a 6f6f 6162 0a72 6f66\n\
119*cf5a6c84SAndroid Build Coastguard Worker0000010 626f 7261 660a 6f6f 6162 0a72 6f66 626f\n\
120*cf5a6c84SAndroid Build Coastguard Worker0000020 7261 660a 6f6f 6162 0a72 6f66 626f 7261\n\
121*cf5a6c84SAndroid Build Coastguard Worker0000030 660a 6f6f 6162 0a72 6f66 626f 7261 660a\n\
122*cf5a6c84SAndroid Build Coastguard Worker0000040 6f6f 6162 0a72 6f66 626f 7261 660a 6f6f\n\
123*cf5a6c84SAndroid Build Coastguard Worker0000050 6162 0a72 6f66 626f 7261 660a 6f6f 6162\n\
124*cf5a6c84SAndroid Build Coastguard Worker0000060 0a72 6f66 626f 7261 660a 6f6f 6162 0a72\n\
125*cf5a6c84SAndroid Build Coastguard Worker0000070 6f66 626f 7261 660a 6f6f 6162 0a72 6f66\n\
126*cf5a6c84SAndroid Build Coastguard Worker0000080 626f 7261 660a 6f6f 6162 0a72 6f66 626f\n\
127*cf5a6c84SAndroid Build Coastguard Worker0000090 7261 660a 6f6f 6162 0a72 6f66 626f 7261\n\
128*cf5a6c84SAndroid Build Coastguard Worker00000a0 660a 6f6f 6162 0a72 6f66 626f 7261 620a\n\
129*cf5a6c84SAndroid Build Coastguard Worker00000b0 7a75 627a 7261 620a 7a75 627a 7261 620a\n\
130*cf5a6c84SAndroid Build Coastguard Worker*\n\
131*cf5a6c84SAndroid Build Coastguard Worker0000170 7a75 627a 7261 000a\n\
132*cf5a6c84SAndroid Build Coastguard Worker0000177\n" \
133*cf5a6c84SAndroid Build Coastguard Worker  "" \
134*cf5a6c84SAndroid Build Coastguard Worker  ""
135*cf5a6c84SAndroid Build Coastguard Workerrm file1 file2
136