toybox/tests/hexdump.test
<<
>>
Prefs
   1#!/bin/bash
   2
   3[ -f testing.sh ] && . testing.sh
   4
   5testcmd "simple file" "input" "0000000 6973 706d 656c 000a\n0000007\n" "simple\\n" ""
   6testcmd "simple file -b" "-b input" "0000000 163 151 155 160 154 145 012\n0000007\n" "simple\\n" ""
   7testcmd "simple file -c" "-c input" "0000000   s   i   m   p   l   e  \\\\n\n0000007\n" "simple\\n" ""
   8testcmd "simple file -d" "-d input" "0000000 26995 28781 25964 00010\n0000007\n" "simple\\n" ""
   9testcmd "simple file -o" "-o input" "0000000 064563 070155 062554 000012\n0000007\n" "simple\\n" ""
  10testcmd "simple file -x" "-x input" "0000000 6973 706d 656c 000a\n0000007\n" "simple\\n" ""
  11
  12testcmd \
  13  "simple file canonical output -C" \
  14  "-C input" \
  15  "\
  1600000000  73 69 6d 70 6c 65 0a                              |simple.|\n\
  1700000007\n" \
  18  "simple\n" \
  19  ""
  20testcmd \
  21  "simple file canonical output -C multiline" \
  22  "-C input" \
  23  "\
  2400000000  73 69 6d 70 6c 65 0a 62  61 72 66 6f 6f 62 61 72  |simple.barfoobar|\n\
  2500000010  66 6f 6f 62 61 72 0a                              |foobar.|\n\
  2600000017\n" \
  27  "\
  28simple\n\
  29barfoobarfoobar\n" \
  30  ""
  31
  32testcmd \
  33  "head of file -n 10" \
  34  "-n 10 input" \
  35  "\
  360000000 6973 706d 656c 730a 6d69\n\
  37000000a\n" \
  38  "simple\nsimple\n" \
  39  ""
  40testcmd \
  41  "skip head of file -s 10" \
  42  "-s 10 input" \
  43  "\
  44000000a 6c70 0a65\n\
  45000000e\n" \
  46  "simple\nsimple\n" \
  47  ""
  48
  49testcmd \
  50  "squeeze repeating lines" \
  51  "input" \
  52  "\
  530000000 6161 6161 6161 6161 6161 6161 6161 0a61\n\
  54*\n\
  550000070 6f66 006f\n\
  560000073\n" \
  57  "\
  58aaaaaaaaaaaaaaa\n\
  59aaaaaaaaaaaaaaa\n\
  60aaaaaaaaaaaaaaa\n\
  61aaaaaaaaaaaaaaa\n\
  62aaaaaaaaaaaaaaa\n\
  63aaaaaaaaaaaaaaa\n\
  64aaaaaaaaaaaaaaa\n\
  65foo" \
  66  ""
  67testcmd \
  68  "squeeze repeating lines" \
  69  "input" \
  70  "\
  710000000 6161 6161 6161 6161 6161 6161 6161 0a61\n\
  72*\n\
  730000030 6262 6262 6262 6262 6262 6262 6262 0a62\n\
  740000040 6161 6161 6161 6161 6161 6161 6161 0a61\n\
  75*\n\
  760000070 6262 6262 6262 6262 6262 6262 6262 0a62\n\
  770000080\n" \
  78  "\
  79aaaaaaaaaaaaaaa\n\
  80aaaaaaaaaaaaaaa\n\
  81aaaaaaaaaaaaaaa\n\
  82bbbbbbbbbbbbbbb\n\
  83aaaaaaaaaaaaaaa\n\
  84aaaaaaaaaaaaaaa\n\
  85aaaaaaaaaaaaaaa\n\
  86bbbbbbbbbbbbbbb\n" \
  87  ""
  88testcmd \
  89  "don't squeeze repeating lines" \
  90  "-v input" \
  91  "\
  920000000 6161 6161 6161 6161 6161 6161 6161 0a61\n\
  930000010 6161 6161 6161 6161 6161 6161 6161 0a61\n\
  940000020 6161 6161 6161 6161 6161 6161 6161 0a61\n\
  950000030 6161 6161 6161 6161 6161 6161 6161 0a61\n\
  960000040 6161 6161 6161 6161 6161 6161 6161 0a61\n\
  970000050 6161 6161 6161 6161 6161 6161 6161 0a61\n\
  980000060 6161 6161 6161 6161 6161 6161 6161 0a61\n\
  990000070 6f66 006f\n\
 1000000073\n" \
 101  "\
 102aaaaaaaaaaaaaaa\n\
 103aaaaaaaaaaaaaaa\n\
 104aaaaaaaaaaaaaaa\n\
 105aaaaaaaaaaaaaaa\n\
 106aaaaaaaaaaaaaaa\n\
 107aaaaaaaaaaaaaaa\n\
 108aaaaaaaaaaaaaaa\n\
 109foo" \
 110  ""
 111
 112for _ in {1..25}; do echo "foobar" >> file1; done
 113for _ in {1..25}; do echo "buzzbar" >> file2; done
 114
 115testcmd \
 116  "accumulate offset accross files" \
 117  "file1 file2" \
 118  "0000000 6f66 626f 7261 660a 6f6f 6162 0a72 6f66\n\
 1190000010 626f 7261 660a 6f6f 6162 0a72 6f66 626f\n\
 1200000020 7261 660a 6f6f 6162 0a72 6f66 626f 7261\n\
 1210000030 660a 6f6f 6162 0a72 6f66 626f 7261 660a\n\
 1220000040 6f6f 6162 0a72 6f66 626f 7261 660a 6f6f\n\
 1230000050 6162 0a72 6f66 626f 7261 660a 6f6f 6162\n\
 1240000060 0a72 6f66 626f 7261 660a 6f6f 6162 0a72\n\
 1250000070 6f66 626f 7261 660a 6f6f 6162 0a72 6f66\n\
 1260000080 626f 7261 660a 6f6f 6162 0a72 6f66 626f\n\
 1270000090 7261 660a 6f6f 6162 0a72 6f66 626f 7261\n\
 12800000a0 660a 6f6f 6162 0a72 6f66 626f 7261 620a\n\
 12900000b0 7a75 627a 7261 620a 7a75 627a 7261 620a\n\
 130*\n\
 1310000170 7a75 627a 7261 000a\n\
 1320000177\n" \
 133  "" \
 134  ""
 135rm file1 file2
 136