diff --git a/testsuite/hexdump.tests b/testsuite/hexdump.tests index 517ec508b..b2f6a2201 100755 --- a/testsuite/hexdump.tests +++ b/testsuite/hexdump.tests @@ -5,6 +5,17 @@ . ./testing.sh +input=\ +"\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"\ +"\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"\ +"\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"\ +"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"\ +"\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" + +little_endian=false +{ printf '\0\1' | hexdump -d | grep -q 256; } && little_endian=true +readonly little_endian + # testing "description" "command" "result" "infile" "stdin" testing 'hexdump -C with four NULs' \ 'hexdump -C' \ @@ -43,12 +54,7 @@ testing "hexdump -e %3_u" \ 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff " \ - "" \ -"\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"\ -"\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"\ -"\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"\ -"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"\ -"\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"\ + "" "$input" testing "hexdump -e /1 %d" \ "hexdump -e '16/1 \" %4d\" \"\n\"'" \ @@ -59,33 +65,74 @@ testing "hexdump -e /1 %d" \ -128 -127 -126 -125 -124 -123 -122 -121 -120 -119 -118 -117 -116 -115 -114 -113 -16 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 " \ - "" \ -"\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"\ -"\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"\ -"\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"\ -"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"\ -"\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"\ + "" "$input" -testing "hexdump -e /2 %d" \ - "hexdump -e '8/2 \" %6d\" \"\n\"'" \ - "\ +$little_endian || SKIP=1 +testing "hexdump -e /2 %d (little endian)" \ + "hexdump -e '8/2 \" %6d\" \"\n\"'" \ + "\ 256 770 1284 1798 2312 2826 3340 3854 4368 4882 5396 5910 6424 6938 7452 7966 29040 29554 30068 30582 31096 31610 32124 32638 -32384 -31870 -31356 -30842 -30328 -29814 -29300 -28786 -3600 -3086 -2572 -2058 -1544 -1030 -516 -2 " \ - "" \ -"\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"\ -"\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"\ -"\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"\ -"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"\ -"\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"\ + "" "$input" +SKIP= -testing "hexdump -n4 -e '\"%u\"'" \ +$little_endian && SKIP=1 +testing "hexdump -e /2 %d (big endian)" \ + "hexdump -e '8/2 \" %6d\" \"\n\"'" \ + "\ + 1 515 1029 1543 2057 2571 3085 3599 + 4113 4627 5141 5655 6169 6683 7197 7711 + 28785 29299 29813 30327 30841 31355 31869 32383 + -32639 -32125 -31611 -31097 -30583 -30069 -29555 -29041 + -3855 -3341 -2827 -2313 -1799 -1285 -771 -257 +" \ + "" "$input" +SKIP= + +$little_endian || SKIP=1 +testing "hexdump -e /2 %x (little endian)" \ + "hexdump -e '8/2 \" %6x\" \"\n\"'" \ + "\ + 100 302 504 706 908 b0a d0c f0e + 1110 1312 1514 1716 1918 1b1a 1d1c 1f1e + 7170 7372 7574 7776 7978 7b7a 7d7c 7f7e + 8180 8382 8584 8786 8988 8b8a 8d8c 8f8e + f1f0 f3f2 f5f4 f7f6 f9f8 fbfa fdfc fffe +" \ + "" "$input" +SKIP= + +$little_endian && SKIP=1 +testing "hexdump -e /2 %x (big endian)" \ + "hexdump -e '8/2 \" %6x\" \"\n\"'" \ + "\ + 1 203 405 607 809 a0b c0d e0f + 1011 1213 1415 1617 1819 1a1b 1c1d 1e1f + 7071 7273 7475 7677 7879 7a7b 7c7d 7e7f + 8081 8283 8485 8687 8889 8a8b 8c8d 8e8f + f0f1 f2f3 f4f5 f6f7 f8f9 fafb fcfd feff +" \ + "" "$input" +SKIP= + +$little_endian || SKIP=1 +testing "hexdump -n4 -e '\"%u\"' (little endian)" \ "hexdump -n4 -e '\"%u\"'" \ "12345678" \ "" \ "\x4e\x61\xbc\x00AAAA" +SKIP= + +$little_endian && SKIP=1 +testing "hexdump -n4 -e '\"%u\"' (big endian)" \ + "hexdump -n4 -e '\"%u\"'" \ + "1315027968" \ + "" \ + "\x4e\x61\xbc\x00AAAA" +SKIP= exit $FAILCOUNT