status | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | |
pass | 5 | 2 | 4 | 5 | 3 | 4 | 2 | 4 | 2 | 8 | |
ok | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | |
N-I | 0 | 4 | 0 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | |
BUG | 2 | 1 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | |
FAIL | 0 | 0 | 4 | 0 | 0 | 4 | 6 | 4 | 6 | 0 | |
total | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | |
case | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | description |
0 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | String length |
1 | pass | N-I | FAIL | pass | N-I | pass | FAIL | pass | FAIL | pass | Unicode string length (UTF-8) |
details | details | details | details | details | |||||||
2 | pass | N-I | pass | pass | N-I | FAIL | FAIL | pass | FAIL | pass | Unicode string length (spec/testdata/utf8-chars.txt) |
details | details | details | details | details | |||||||
3 | BUG | N-I | FAIL | BUG | N-I | FAIL | FAIL | FAIL | FAIL | pass | String length with incomplete utf-8 |
details | details | details | details | details | details | details | details | details | |||
4 | BUG | N-I | FAIL | BUG | N-I | FAIL | FAIL | FAIL | FAIL | pass | String length with invalid utf-8 continuation bytes |
details | details | details | details | details | details | details | details | details | |||
5 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | Length of undefined variable |
6 | pass | ok | FAIL | pass | pass | pass | FAIL | FAIL | FAIL | pass | Length of undefined variable with nounset |
details | details | details | details | details | |||||||
7 | ok | BUG | pass | BUG | ok | FAIL | FAIL | FAIL | FAIL | pass | Length operator can't be followed by test operator |
details | details | details | details | details | details | details | details |
39 passed, 3 OK, 8 not implemented, 6 BUG, 24 failed, 0 timeouts, 0 cases skipped
dash | 1 Unicode string length (UTF-8) stdout: 9stderr: |
ash | 1 Unicode string length (UTF-8) [ash stdout] Expected '3\n', got '8\n' stdout: 8stderr: |
mksh | 1 Unicode string length (UTF-8) stdout: 4stderr: |
toysh | 1 Unicode string length (UTF-8) [toysh stdout] Expected '3\n', got '4\n' stdout: 4stderr: |
brush | 1 Unicode string length (UTF-8) [brush stdout] Expected '3\n', got '4\n' stdout: 4stderr: |
dash | 2 Unicode string length (spec/testdata/utf8-chars.txt) stdout: 13stderr: |
mksh | 2 Unicode string length (spec/testdata/utf8-chars.txt) stdout: 13stderr: |
ksh | 2 Unicode string length (spec/testdata/utf8-chars.txt) [ksh stdout] Expected '7\n', got '10\n' stdout: 10stderr: |
toysh | 2 Unicode string length (spec/testdata/utf8-chars.txt) [toysh stdout] Expected '7\n', got '13\n' stdout: 13stderr: |
brush | 2 Unicode string length (spec/testdata/utf8-chars.txt) [brush stdout] Expected '7\n', got '13\n' stdout: 13stderr: |
bash | 3 String length with incomplete utf-8 stdout: 0 1 2 3 3 4 5 6 5 6 7 8 9 7stderr: |
dash | 3 String length with incomplete utf-8 stdout: 0 1 2 3 4 5 6 7 8 9 10 11 12 13stderr: |
ash | 3 String length with incomplete utf-8 [ash stdout] Expected '0\n1\n2\n-1\n3\n4\n-1\n-1\n5\n6\n-1\n-1\n-1\n7\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 2 in string of 3 bytes\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 5 in string of 6 bytes\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 5 in string of 7 bytes\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 9 in string of 10 bytes\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 9 in string of 11 bytes\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 9 in string of 12 bytes\n' Got '0\n1\n2\n3\n3\n4\n6\n7\n5\n6\n10\n11\n12\n7\n' stdout: 0 1 2 3 3 4 6 7 5 6 10 11 12 7stderr: |
zsh | 3 String length with incomplete utf-8 stdout: 0 1 2 3 3 4 5 6 5 6 7 8 9 7stderr: |
mksh | 3 String length with incomplete utf-8 stdout: 0 1 2 3 4 5 6 7 8 9 10 11 12 13stderr: |
ksh | 3 String length with incomplete utf-8 [ksh stdout] Expected '0\n1\n2\n-1\n3\n4\n-1\n-1\n5\n6\n-1\n-1\n-1\n7\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 2 in string of 3 bytes\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 5 in string of 6 bytes\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 5 in string of 7 bytes\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 9 in string of 10 bytes\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 9 in string of 11 bytes\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 9 in string of 12 bytes\n' Got '0\n1\n2\n3\n3\n4\n5\n6\n5\n6\n7\n8\n9\n10\n' stdout: 0 1 2 3 3 4 5 6 5 6 7 8 9 10stderr: |
toysh | 3 String length with incomplete utf-8 [toysh stdout] Expected '0\n1\n2\n-1\n3\n4\n-1\n-1\n5\n6\n-1\n-1\n-1\n7\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 2 in string of 3 bytes\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 5 in string of 6 bytes\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 5 in string of 7 bytes\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 9 in string of 10 bytes\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 9 in string of 11 bytes\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 9 in string of 12 bytes\n' Got '0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n' stdout: 0 1 2 3 4 5 6 7 8 9 10 11 12 13stderr: |
sush | 3 String length with incomplete utf-8 [sush stdout] Expected '0\n1\n2\n-1\n3\n4\n-1\n-1\n5\n6\n-1\n-1\n-1\n7\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 2 in string of 3 bytes\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 5 in string of 6 bytes\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 5 in string of 7 bytes\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 9 in string of 10 bytes\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 9 in string of 11 bytes\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 9 in string of 12 bytes\n' Got '0\n1\n2\n0\n3\n4\n0\n0\n5\n6\n0\n0\n0\n7\n' stdout: 0 1 2 0 3 4 0 0 5 6 0 0 0 7stderr: |
brush | 3 String length with incomplete utf-8 [brush stdout] Expected '0\n1\n2\n-1\n3\n4\n-1\n-1\n5\n6\n-1\n-1\n-1\n7\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 2 in string of 3 bytes\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 5 in string of 6 bytes\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 5 in string of 7 bytes\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 9 in string of 10 bytes\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 9 in string of 11 bytes\n[ stdin ]:3: warning: UTF-8 decode: Truncated bytes at offset 9 in string of 12 bytes\n' Got '0\n1\n2\n' stdout: 0 1 2stderr: [31mERROR[0m error: i/o error: stream did not contain valid UTF-8 |
bash | 4 String length with invalid utf-8 continuation bytes stdout: 1 2 3 4 4 5 6 7 6 7 8 9 10 8 8stderr: |
dash | 4 String length with invalid utf-8 continuation bytes stdout: 7 8 9 10 11 12 13 14 15 16 17 18 19 20 20stderr: |
ash | 4 String length with invalid utf-8 continuation bytes [ash stdout] Expected '-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 0 in string of 1 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 1 in string of 2 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 2 in string of 3 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 2 in string of 4 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 4 in string of 5 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 5 in string of 6 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 5 in string of 7 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 5 in string of 8 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 8 in string of 9 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 9 in string of 10 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 9 in string of 11 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 9 in string of 12 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 9 in string of 13 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 13 in string of 14 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 13 in string of 14 bytes\n' Got '1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n14\n' stdout: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 14stderr: |
zsh | 4 String length with invalid utf-8 continuation bytes stdout: 1 2 3 4 4 5 6 7 6 7 8 9 10 8 8stderr: |
mksh | 4 String length with invalid utf-8 continuation bytes stdout: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 14stderr: |
ksh | 4 String length with invalid utf-8 continuation bytes [ksh stdout] Expected '-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 0 in string of 1 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 1 in string of 2 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 2 in string of 3 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 2 in string of 4 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 4 in string of 5 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 5 in string of 6 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 5 in string of 7 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 5 in string of 8 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 8 in string of 9 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 9 in string of 10 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 9 in string of 11 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 9 in string of 12 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 9 in string of 13 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 13 in string of 14 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 13 in string of 14 bytes\n' Got '1\n2\n3\n4\n4\n5\n6\n7\n6\n7\n8\n9\n10\n11\n11\n' stdout: 1 2 3 4 4 5 6 7 6 7 8 9 10 11 11stderr: |
toysh | 4 String length with invalid utf-8 continuation bytes [toysh stdout] Expected '-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 0 in string of 1 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 1 in string of 2 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 2 in string of 3 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 2 in string of 4 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 4 in string of 5 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 5 in string of 6 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 5 in string of 7 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 5 in string of 8 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 8 in string of 9 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 9 in string of 10 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 9 in string of 11 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 9 in string of 12 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 9 in string of 13 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 13 in string of 14 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 13 in string of 14 bytes\n' Got '2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n15\n' stdout: 2 3 4 5 6 7 8 9 10 11 12 13 14 15 15stderr: |
sush | 4 String length with invalid utf-8 continuation bytes [sush stdout] Expected '-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 0 in string of 1 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 1 in string of 2 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 2 in string of 3 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 2 in string of 4 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 4 in string of 5 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 5 in string of 6 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 5 in string of 7 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 5 in string of 8 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 8 in string of 9 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 9 in string of 10 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 9 in string of 11 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 9 in string of 12 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 9 in string of 13 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 13 in string of 14 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 13 in string of 14 bytes\n' Got '0\n1\n2\n0\n3\n4\n0\n0\n5\n6\n0\n0\n0\n7\n7\n' stdout: 0 1 2 0 3 4 0 0 5 6 0 0 0 7 7stderr: |
brush | 4 String length with invalid utf-8 continuation bytes [brush stdout] Expected '-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n-1\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 0 in string of 1 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 1 in string of 2 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 2 in string of 3 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 2 in string of 4 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 4 in string of 5 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 5 in string of 6 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 5 in string of 7 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 5 in string of 8 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 8 in string of 9 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 9 in string of 10 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 9 in string of 11 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 9 in string of 12 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 9 in string of 13 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 13 in string of 14 bytes\n[ stdin ]:3: warning: UTF-8 decode: Bad encoding at offset 13 in string of 14 bytes\n' Got '3\n4\n5\n' stdout: 3 4 5stderr: [31mERROR[0m error: i/o error: stream did not contain valid UTF-8 |
dash | 6 Length of undefined variable with nounset stdout: stderr: dash: 2: undef: parameter not set |
ash | 6 Length of undefined variable with nounset [ash status] Expected 1, got 2 stdout: stderr: ash: undef: parameter not set |
toysh | 6 Length of undefined variable with nounset [toysh status] Expected 1, got 0 stdout: 0stderr: set: bad -o nounset |
sush | 6 Length of undefined variable with nounset [sush status] Expected 1, got 0 stdout: 0stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: nounset: invalid option name |
brush | 6 Length of undefined variable with nounset [brush status] Expected 1, got 0 stdout: 0stderr: |
bash | 7 Length operator can't be followed by test operator stdout: stderr: bash: line 1: ${#x-default}: bad substitution bash: line 4: ${#x-default}: bad substitution bash: line 7: ${#x-default}: bad substitution |
dash | 7 Length operator can't be followed by test operator stdout: 0 0 3stderr: |
zsh | 7 Length operator can't be followed by test operator stdout: 7 0 3stderr: |
mksh | 7 Length operator can't be followed by test operator stdout: stderr: mksh: <stdin>[1]: ${#x-default}: bad substitution |
ksh | 7 Length operator can't be followed by test operator [ksh status] Expected 2, got 1 stdout: stderr: E: ksh: <stdin>[1]: ${#x-default}: bad substitution |
toysh | 7 Length operator can't be followed by test operator [toysh stdout] Expected u'', got '0\n0\n3\n' [toysh status] Expected 2, got 0 stdout: 0 0 3stderr: |
sush | 7 Length operator can't be followed by test operator [sush stdout] Expected u'', got 'default\n0\n3\n' [sush status] Expected 2, got 0 stdout: default 0 3stderr: |
brush | 7 Length operator can't be followed by test operator [brush stdout] Expected u'', got '${#x-default}\n${#x-default}\n${#x-default}\n' [brush status] Expected 2, got 0 stdout: ${#x-default} ${#x-default} ${#x-default}stderr: |