diff options
Diffstat (limited to 'testsuite')
-rwxr-xr-x | testsuite/cpio.tests | 23 | ||||
-rwxr-xr-x | testsuite/cryptpw.tests | 98 | ||||
-rwxr-xr-x | testsuite/hexdump.tests | 101 | ||||
-rwxr-xr-x | testsuite/ls.tests | 26 | ||||
-rwxr-xr-x | testsuite/md5sum.tests | 7 | ||||
-rwxr-xr-x | testsuite/od.tests | 13 | ||||
-rwxr-xr-x | testsuite/sha384sum.tests | 3 | ||||
-rwxr-xr-x | testsuite/sha3sum.tests | 6 | ||||
-rwxr-xr-x | testsuite/tr.tests | 4 | ||||
-rw-r--r-- | testsuite/wget/wget-handles-https | 4 |
10 files changed, 243 insertions, 42 deletions
diff --git a/testsuite/cpio.tests b/testsuite/cpio.tests index 85e746589..a4462c53e 100755 --- a/testsuite/cpio.tests +++ b/testsuite/cpio.tests | |||
@@ -154,6 +154,29 @@ testing "cpio -R with extract" \ | |||
154 | " "" "" | 154 | " "" "" |
155 | SKIP= | 155 | SKIP= |
156 | 156 | ||
157 | # Create an archive containing a file with "../dont_write" filename. | ||
158 | # See that it will not be allowed to unpack. | ||
159 | # NB: GNU cpio 2.15 DOES NOT do such checks. | ||
160 | optional FEATURE_PATH_TRAVERSAL_PROTECTION | ||
161 | rm -rf cpio.testdir | ||
162 | mkdir -p cpio.testdir/prepare/inner | ||
163 | echo "file outside of destination was written" > cpio.testdir/prepare/dont_write | ||
164 | echo "data" > cpio.testdir/prepare/inner/to_extract | ||
165 | mkdir -p cpio.testdir/extract | ||
166 | testing "cpio extract file outside of destination" "\ | ||
167 | (cd cpio.testdir/prepare/inner && echo -e '../dont_write\nto_extract' | cpio -o -H newc) | (cd cpio.testdir/extract && cpio -vi 2>&1) | ||
168 | echo \$? | ||
169 | ls cpio.testdir/dont_write 2>&1" \ | ||
170 | "\ | ||
171 | cpio: removing leading '../' from member names | ||
172 | ../dont_write | ||
173 | to_extract | ||
174 | 1 blocks | ||
175 | 0 | ||
176 | ls: cpio.testdir/dont_write: No such file or directory | ||
177 | " "" "" | ||
178 | SKIP= | ||
179 | |||
157 | # Clean up | 180 | # Clean up |
158 | rm -rf cpio.testdir cpio.testdir2 2>/dev/null | 181 | rm -rf cpio.testdir cpio.testdir2 2>/dev/null |
159 | 182 | ||
diff --git a/testsuite/cryptpw.tests b/testsuite/cryptpw.tests index 0dd91fe15..83bfde521 100755 --- a/testsuite/cryptpw.tests +++ b/testsuite/cryptpw.tests | |||
@@ -22,21 +22,93 @@ testing "cryptpw des zz" \ | |||
22 | #SKIP= | 22 | #SKIP= |
23 | 23 | ||
24 | optional USE_BB_CRYPT_SHA | 24 | optional USE_BB_CRYPT_SHA |
25 | testing "cryptpw sha256" \ | 25 | # Note: mkpasswd-5.6.2 won't accept "-m sha256", wants "-m sha256crypt" |
26 | "cryptpw -m sha256 QWErty '123456789012345678901234567890'" \ | 26 | testing 'cryptpw sha256' \ |
27 | '$5$1234567890123456$5DxfOCmU4vRhtzfsbdK.6wSGMwwVbac7ZkWwusb8Si7\n' "" "" | 27 | 'cryptpw -m sha256 QWErty 1234567890123456' \ |
28 | '$5$1234567890123456$5DxfOCmU4vRhtzfsbdK.6wSGMwwVbac7ZkWwusb8Si7\n' \ | ||
29 | '' '' | ||
30 | # mkpasswd-5.6.2 does not allow overlong salts, we truncate (at 16 chars for sha256) | ||
31 | testing 'cryptpw sha256 overlong' \ | ||
32 | 'cryptpw -m sha256 QWErty 123456789012345678901234567890' \ | ||
33 | '$5$1234567890123456$5DxfOCmU4vRhtzfsbdK.6wSGMwwVbac7ZkWwusb8Si7\n' \ | ||
34 | '' '' | ||
35 | testing 'cryptpw sha256 implicit' \ | ||
36 | 'cryptpw QWErty \$5\$1234567890123456' \ | ||
37 | '$5$1234567890123456$5DxfOCmU4vRhtzfsbdK.6wSGMwwVbac7ZkWwusb8Si7\n' \ | ||
38 | '' '' | ||
39 | testing 'cryptpw sha256 rounds=99999' \ | ||
40 | 'cryptpw -m sha256 QWErty rounds=99999\$123456789012345678901234567890' \ | ||
41 | '$5$rounds=99999$1234567890123456$aYellycJGZM6AKyVzaQsSrDBdTixubtMnM6J.MN0xM8\n' \ | ||
42 | '' '' | ||
43 | testing 'cryptpw sha256 rounds=99999 implicit' \ | ||
44 | 'cryptpw QWErty \$5\$rounds=99999\$123456789012345678901234567890' \ | ||
45 | '$5$rounds=99999$1234567890123456$aYellycJGZM6AKyVzaQsSrDBdTixubtMnM6J.MN0xM8\n' \ | ||
46 | '' '' | ||
28 | 47 | ||
29 | testing "cryptpw sha256 rounds=99999" \ | 48 | testing 'cryptpw sha512' \ |
30 | "cryptpw -m sha256 QWErty 'rounds=99999\$123456789012345678901234567890'" \ | 49 | 'cryptpw -m sha512 QWErty 123456789012345678901234567890' \ |
31 | '$5$rounds=99999$1234567890123456$aYellycJGZM6AKyVzaQsSrDBdTixubtMnM6J.MN0xM8\n' "" "" | 50 | '$6$1234567890123456$KB7QqxFyqmJSWyQYcCuGeFukgz1bPQoipWZf7.9L7z3k8UNTXa6UikbKcUGDc2ANn7DOGmDaroxDgpK16w/RE0\n' \ |
32 | 51 | '' '' | |
33 | testing "cryptpw sha512" \ | 52 | testing 'cryptpw sha512crypt' \ |
34 | "cryptpw -m sha512 QWErty '123456789012345678901234567890'" \ | 53 | 'cryptpw -m sha512crypt QWErty 123456789012345678901234567890' \ |
35 | '$6$1234567890123456$KB7QqxFyqmJSWyQYcCuGeFukgz1bPQoipWZf7.9L7z3k8UNTXa6UikbKcUGDc2ANn7DOGmDaroxDgpK16w/RE0\n' "" "" | 54 | '$6$1234567890123456$KB7QqxFyqmJSWyQYcCuGeFukgz1bPQoipWZf7.9L7z3k8UNTXa6UikbKcUGDc2ANn7DOGmDaroxDgpK16w/RE0\n' \ |
55 | '' '' | ||
56 | testing 'cryptpw sha512 rounds=99999' \ | ||
57 | 'cryptpw -m sha512 QWErty rounds=99999\$123456789012345678901234567890' \ | ||
58 | '$6$rounds=99999$1234567890123456$BfF6gD6ZjUmwawH5QaAglYAxtU./yvsz0fcQ464l49aMI2DZW3j5ri28CrxK7riPWNpLuUpfaIdY751SBYKUH.\n' \ | ||
59 | '' '' | ||
60 | SKIP= | ||
36 | 61 | ||
37 | testing "cryptpw sha512 rounds=99999" \ | 62 | optional USE_BB_CRYPT_YES |
38 | "cryptpw -m sha512 QWErty 'rounds=99999\$123456789012345678901234567890'" \ | 63 | testing 'cryptpw yescrypt' \ |
39 | '$6$rounds=99999$1234567890123456$BfF6gD6ZjUmwawH5QaAglYAxtU./yvsz0fcQ464l49aMI2DZW3j5ri28CrxK7riPWNpLuUpfaIdY751SBYKUH.\n' "" "" | 64 | 'cryptpw -m yescrypt qweRTY123@-+ j9T\$123456789012345678901234' \ |
65 | '$y$j9T$123456789012345678901234$AKxw5OX/T4jD.v./IW.5tE/j7izNjw06fg3OvH1LsN9\n' \ | ||
66 | '' '' | ||
67 | testing 'cryptpw yescrypt with non-standard N=2048 instead of 4096 (j8T instead of j9T)' \ | ||
68 | 'cryptpw -m yescrypt qweRTY123@-+ j8T\$123456789012345678901234' \ | ||
69 | '$y$j8T$123456789012345678901234$JQUUfopCxlfZNE8f.THJwbOkhy.XtB3GIjo9HUVioWB\n' \ | ||
70 | '' '' | ||
71 | # mkpasswd-5.6.2 allows short salts for yescrypt | ||
72 | # ...but there is a catch. Not all of them. | ||
73 | # The "partial" (not fitting in whole bytes) ascii64-encoded salt | ||
74 | # is a special case. For example, "$zzz" would not even work in upstream. | ||
75 | testing 'cryptpw yescrypt with empty salt' \ | ||
76 | 'cryptpw -m yescrypt qweRTY123@-+ j9T\$' \ | ||
77 | '$y$j9T$$hpeksL94GXNRwnA00L3c8WFy0khFAUbCpBSak.N3Bp.\n' \ | ||
78 | '' '' | ||
79 | testing 'cryptpw yescrypt with 3-char salt' \ | ||
80 | 'cryptpw -m yescrypt qweRTY123@-+ j9T\$123' \ | ||
81 | '$y$j9T$123$A34DMIGUbUIo3bjx66Wtk2IFoREMIw6d49it25KQh2D\n' \ | ||
82 | '' '' | ||
83 | # "." is not allowed in mkpasswd-5.6.2 | ||
84 | # .................................... | ||
85 | # ".." is decoded into one zero byte (not two) | ||
86 | testing 'cryptpw yescrypt with 2-char salt ".."' \ | ||
87 | 'cryptpw -m yescrypt qweRTY123@-+ j9T\$..' \ | ||
88 | '$y$j9T$..$yVHeOayxOGg6cHL3.dg10u7T.qSgySfLN3uhSVSLNn/\n' \ | ||
89 | '' '' | ||
90 | # "..." is decoded into two zero bytes (not three, not one) | ||
91 | testing 'cryptpw yescrypt with 3-char salt "..."' \ | ||
92 | 'cryptpw -m yescrypt qweRTY123@-+ j9T\$...' \ | ||
93 | '$y$j9T$...$xHvJ5USZ7hFyXYbOijtEOMfZRS23cWIxu2eIBXRymA5\n' \ | ||
94 | '' '' | ||
95 | # "...." is decoded into three zero bytes (no surprises here) | ||
96 | testing 'cryptpw yescrypt with 4-char salt "...."' \ | ||
97 | 'cryptpw -m yescrypt qweRTY123@-+ j9T\$....' \ | ||
98 | '$y$j9T$....$wOnauYL2/NEtr6YQi9pi8AtV7L57sEbVOAnWJIcP9q2\n' \ | ||
99 | '' '' | ||
100 | # 84 chars = 21 4-char blocks which decode into 21*3 = 63 bytes. | ||
101 | # The last byte of the maximum allowed salt size has to come from an incomplete | ||
102 | # char block. E.g. "z/" encodes byte 0x7f. "z1" is 0xff. | ||
103 | # Anything larger (e.g. "z2") is an error (it encodes 0x13f). | ||
104 | testing 'cryptpw yescrypt with 86-char salt (max size)' \ | ||
105 | 'cryptpw -m yescrypt qweRTY123@-+ j9T\$123456789012345678901234567890123456789012345678901234567890123456789012345678901234z/' \ | ||
106 | '$y$j9T$123456789012345678901234567890123456789012345678901234567890123456789012345678901234z/$Exxe8IoPXiddFsqj7iqCanRf8FyquAoB0/uceLmLjG.\n' \ | ||
107 | '' '' | ||
108 | testing 'cryptpw yescrypt implicit' \ | ||
109 | 'cryptpw qweRTY123@-+ \$y\$j9T\$123456789012345678901234' \ | ||
110 | '$y$j9T$123456789012345678901234$AKxw5OX/T4jD.v./IW.5tE/j7izNjw06fg3OvH1LsN9\n' \ | ||
111 | '' '' | ||
40 | SKIP= | 112 | SKIP= |
41 | 113 | ||
42 | exit $FAILCOUNT | 114 | exit $FAILCOUNT |
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 |
diff --git a/testsuite/ls.tests b/testsuite/ls.tests index 9309d366b..a95911034 100755 --- a/testsuite/ls.tests +++ b/testsuite/ls.tests | |||
@@ -19,7 +19,7 @@ test x"$CONFIG_UNICODE_SUPPORT" = x"y" \ | |||
19 | && test x"$CONFIG_LAST_SUPPORTED_WCHAR" = x"767" \ | 19 | && test x"$CONFIG_LAST_SUPPORTED_WCHAR" = x"767" \ |
20 | && test x"$CONFIG_FEATURE_LS_SORTFILES" = x"y" \ | 20 | && test x"$CONFIG_FEATURE_LS_SORTFILES" = x"y" \ |
21 | && testing "ls unicode test with codepoints limited to 767" \ | 21 | && testing "ls unicode test with codepoints limited to 767" \ |
22 | "(cd ls.testdir && sh ../ls.mk_uni_tests) && ls -1 ls.testdir" \ | 22 | "(cd ls.testdir && sh ../ls.mk_uni_tests) && ls -1q ls.testdir" \ |
23 | '0001_1__Some_correct_UTF-8_text___________________________________________| | 23 | '0001_1__Some_correct_UTF-8_text___________________________________________| |
24 | 0002_2__Boundary_condition_test_cases_____________________________________| | 24 | 0002_2__Boundary_condition_test_cases_____________________________________| |
25 | 0003_2.1__First_possible_sequence_of_a_certain_length_____________________| | 25 | 0003_2.1__First_possible_sequence_of_a_certain_length_____________________| |
@@ -138,7 +138,7 @@ test x"$CONFIG_UNICODE_SUPPORT" = x"y" \ | |||
138 | && test x"$CONFIG_SUBST_WCHAR" = x"63" \ | 138 | && test x"$CONFIG_SUBST_WCHAR" = x"63" \ |
139 | && test x"$CONFIG_LAST_SUPPORTED_WCHAR" = x"0" \ | 139 | && test x"$CONFIG_LAST_SUPPORTED_WCHAR" = x"0" \ |
140 | && testing "ls unicode test with unlimited codepoints" \ | 140 | && testing "ls unicode test with unlimited codepoints" \ |
141 | "(cd ls.testdir && sh ../ls.mk_uni_tests) && ls -1 ls.testdir" \ | 141 | "(cd ls.testdir && sh ../ls.mk_uni_tests) && ls -1q ls.testdir" \ |
142 | '0001_1__Some_correct_UTF-8_text___________________________________________| | 142 | '0001_1__Some_correct_UTF-8_text___________________________________________| |
143 | 0002_2__Boundary_condition_test_cases_____________________________________| | 143 | 0002_2__Boundary_condition_test_cases_____________________________________| |
144 | 0003_2.1__First_possible_sequence_of_a_certain_length_____________________| | 144 | 0003_2.1__First_possible_sequence_of_a_certain_length_____________________| |
@@ -262,6 +262,28 @@ test x"$CONFIG_FEATURE_LS_SORTFILES" = x"y" \ | |||
262 | "A\nB\nA\nB\nA\nB\n" \ | 262 | "A\nB\nA\nB\nA\nB\n" \ |
263 | "" "" | 263 | "" "" |
264 | 264 | ||
265 | rm -rf ls.testdir 2>/dev/null | ||
266 | mkdir ls.testdir || exit 1 | ||
267 | touch "`printf "ls.testdir/\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_\x7f\x80\xfe\xff_\x22_\x27_\x5c"`" | ||
268 | |||
269 | sq="'" | ||
270 | |||
271 | # testing "test name" "command" "expected result" "file input" "stdin" | ||
272 | testing "ls -q" \ | ||
273 | 'ls -q ls.testdir' \ | ||
274 | '???????????????????????????????_????_"_'$sq'_\\''\n' \ | ||
275 | "" "" | ||
276 | |||
277 | testing "ls -Q" \ | ||
278 | 'ls -Q ls.testdir' \ | ||
279 | '"\\001\\002\\003\\004\\005\\006\\a\\b\\t\\n\\v\\f\\r\\016\\017\\020\\021\\022\\023\\024\\025\\026\\027\\030\\031\\032\\033\\034\\035\\036\\037_\\177\\200\\376\\377_\\"_'$sq'_\\\\"\n' \ | ||
280 | "" "" | ||
281 | |||
282 | testing "ls -qQ" \ | ||
283 | 'ls -qQ ls.testdir' \ | ||
284 | '"\\001\\002\\003\\004\\005\\006\\a\\b\\t\\n\\v\\f\\r\\016\\017\\020\\021\\022\\023\\024\\025\\026\\027\\030\\031\\032\\033\\034\\035\\036\\037_\\177\\200\\376\\377_\\"_'$sq'_\\\\"\n' \ | ||
285 | "" "" | ||
286 | |||
265 | # Clean up | 287 | # Clean up |
266 | rm -rf ls.testdir 2>/dev/null | 288 | rm -rf ls.testdir 2>/dev/null |
267 | 289 | ||
diff --git a/testsuite/md5sum.tests b/testsuite/md5sum.tests index cca26dc64..a6d2b7ffb 100755 --- a/testsuite/md5sum.tests +++ b/testsuite/md5sum.tests | |||
@@ -9,6 +9,7 @@ | |||
9 | # efe30c482e0b687e0cca0612f42ca29b | 9 | # efe30c482e0b687e0cca0612f42ca29b |
10 | # d41337e834377140ae7f98460d71d908598ef04f | 10 | # d41337e834377140ae7f98460d71d908598ef04f |
11 | # 8e1d3ed57ebc130f0f72508446559eeae06451ae6d61b1e8ce46370cfb8963c3 | 11 | # 8e1d3ed57ebc130f0f72508446559eeae06451ae6d61b1e8ce46370cfb8963c3 |
12 | # c01420bb6613d4bd00396a82033e59e81486cbb045ae0dd2b4c3332e581b3ce09fb1946d6e283acec685778ff205d485 | ||
12 | # fe413e0f177324d1353893ca0772ceba83fd41512ba63895a0eebb703ef9feac2fb4e92b2cb430b3bda41b46b0cb4ea8307190a5cc795157cfb680a9cd635d0f | 13 | # fe413e0f177324d1353893ca0772ceba83fd41512ba63895a0eebb703ef9feac2fb4e92b2cb430b3bda41b46b0cb4ea8307190a5cc795157cfb680a9cd635d0f |
13 | 14 | ||
14 | if ! test "$1"; then | 15 | if ! test "$1"; then |
@@ -31,9 +32,9 @@ text=`yes "$text" | head -c 9999` | |||
31 | result=`( | 32 | result=`( |
32 | n=0 | 33 | n=0 |
33 | while test $n -le 999; do | 34 | while test $n -le 999; do |
34 | echo "$text" | head -c $n | "$sum" | 35 | echo "$text" | head -c $n | $sum |
35 | n=$(($n+1)) | 36 | n=$(($n+1)) |
36 | done | "$sum" | 37 | done | $sum |
37 | )` | 38 | )` |
38 | if test x"$result" != x"$expected -"; then | 39 | if test x"$result" != x"$expected -"; then |
39 | echo "FAIL: $sum (r:$result exp:$expected)" | 40 | echo "FAIL: $sum (r:$result exp:$expected)" |
@@ -44,7 +45,7 @@ fi | |||
44 | 45 | ||
45 | # GNU compat: -c EMPTY must fail (exitcode 1)! | 46 | # GNU compat: -c EMPTY must fail (exitcode 1)! |
46 | >EMPTY | 47 | >EMPTY |
47 | if "$sum" -c EMPTY 2>/dev/null; then | 48 | if $sum -c EMPTY 2>/dev/null; then |
48 | echo "FAIL: $sum -c EMPTY" | 49 | echo "FAIL: $sum -c EMPTY" |
49 | : $((FAILCOUNT++)) | 50 | : $((FAILCOUNT++)) |
50 | else | 51 | else |
diff --git a/testsuite/od.tests b/testsuite/od.tests index 4f245a7e8..c863bf2e8 100755 --- a/testsuite/od.tests +++ b/testsuite/od.tests | |||
@@ -61,7 +61,8 @@ testing "od -a (DESKTOP)" \ | |||
61 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" | 61 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" |
62 | SKIP= | 62 | SKIP= |
63 | 63 | ||
64 | testing "od -B" \ | 64 | $little_endian || SKIP=1 |
65 | testing "od -B (little-endian)" \ | ||
65 | "od -B" \ | 66 | "od -B" \ |
66 | "\ | 67 | "\ |
67 | 0000000 001001 005003 041101 177103 | 68 | 0000000 001001 005003 041101 177103 |
@@ -70,6 +71,16 @@ testing "od -B" \ | |||
70 | "" "$input" | 71 | "" "$input" |
71 | SKIP= | 72 | SKIP= |
72 | 73 | ||
74 | $little_endian && SKIP=1 | ||
75 | testing "od -B (big-endian)" \ | ||
76 | "od -B" \ | ||
77 | "\ | ||
78 | 0000000 000402 001412 040502 041776 | ||
79 | 0000010 | ||
80 | " \ | ||
81 | "" "$input" | ||
82 | SKIP= | ||
83 | |||
73 | $little_endian || SKIP=1 | 84 | $little_endian || SKIP=1 |
74 | testing "od -o (little-endian)" \ | 85 | testing "od -o (little-endian)" \ |
75 | "od -o" \ | 86 | "od -o" \ |
diff --git a/testsuite/sha384sum.tests b/testsuite/sha384sum.tests new file mode 100755 index 000000000..f1449d195 --- /dev/null +++ b/testsuite/sha384sum.tests | |||
@@ -0,0 +1,3 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | . ./md5sum.tests sha384sum c01420bb6613d4bd00396a82033e59e81486cbb045ae0dd2b4c3332e581b3ce09fb1946d6e283acec685778ff205d485 | ||
diff --git a/testsuite/sha3sum.tests b/testsuite/sha3sum.tests index 2cd8e3bf2..631141735 100755 --- a/testsuite/sha3sum.tests +++ b/testsuite/sha3sum.tests | |||
@@ -1,3 +1,7 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | 2 | ||
3 | . ./md5sum.tests sha3sum 11659f09370139f8ef384f4a6260947fafa6e4fcd87a1ef3f35410e9 | 3 | (. ./md5sum.tests sha3sum 11659f09370139f8ef384f4a6260947fafa6e4fcd87a1ef3f35410e9) \ |
4 | && (. ./md5sum.tests "sha3sum -a224" 11659f09370139f8ef384f4a6260947fafa6e4fcd87a1ef3f35410e9) \ | ||
5 | && (. ./md5sum.tests "sha3sum -a256" 6f69c8d36a9a579a943d878dab38c179d2a9dde12b244aa8840002c0f3d5bb73) \ | ||
6 | && (. ./md5sum.tests "sha3sum -a384" 303913449042257996a869e0378323193b4f58d90eea801b12186a3d65640bd3403d3404c63527424ec43dff842c0cd0) \ | ||
7 | && (. ./md5sum.tests "sha3sum -a512" e14814dccc2fef967af74eb6710885b35dfe660a362c0609b642404987d24a13dac66ad037e6affa5c42631110231655fcf4c972b1457ac49fb83af8113fc51f) | ||
diff --git a/testsuite/tr.tests b/testsuite/tr.tests index 5cca299ac..96f88ccf3 100755 --- a/testsuite/tr.tests +++ b/testsuite/tr.tests | |||
@@ -15,6 +15,10 @@ testing "tr understands 0-9A-F" \ | |||
15 | "tr -cd '[0-9A-F]'" \ | 15 | "tr -cd '[0-9A-F]'" \ |
16 | "19AF" "" "19AFH\n" | 16 | "19AF" "" "19AFH\n" |
17 | 17 | ||
18 | testing "tr does not treat [p\\-r] as a range" \ | ||
19 | "tr '[p\-r]' '+'" \ | ||
20 | "o+q+s+" "" "opqrs-" | ||
21 | |||
18 | optional FEATURE_TR_CLASSES | 22 | optional FEATURE_TR_CLASSES |
19 | testing "tr understands [:xdigit:]" \ | 23 | testing "tr understands [:xdigit:]" \ |
20 | "tr -cd '[:xdigit:]'" \ | 24 | "tr -cd '[:xdigit:]'" \ |
diff --git a/testsuite/wget/wget-handles-https b/testsuite/wget/wget-handles-https new file mode 100644 index 000000000..11915f42f --- /dev/null +++ b/testsuite/wget/wget-handles-https | |||
@@ -0,0 +1,4 @@ | |||
1 | test x"$SKIP_INTERNET_TESTS" != x"" && exit | ||
2 | |||
3 | busybox wget -q -O foo https://www.google.com/ | ||
4 | test -s foo | ||