status | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | |
pass | 47 | 47 | 47 | 18 | 46 | 47 | 29 | 45 | 33 | 45 | |
ok | 3 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | |
N-I | 0 | 3 | 3 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | |
BUG | 2 | 2 | 2 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | |
FAIL | 0 | 0 | 0 | 32 | 0 | 5 | 23 | 7 | 19 | 7 | |
total | 52 | 52 | 52 | 52 | 52 | 52 | 52 | 52 | 52 | 52 | |
case | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | description |
0 | pass | pass | pass | FAIL | pass | pass | FAIL | pass | pass | pass | IFS is scoped |
details | details | ||||||||||
1 | pass | pass | pass | FAIL | pass | pass | pass | pass | pass | pass | Tilde sub is not split, but var sub is |
details | |||||||||||
2 | pass | pass | pass | FAIL | pass | pass | pass | pass | pass | pass | Word splitting |
details | |||||||||||
3 | pass | pass | pass | FAIL | pass | pass | pass | pass | pass | pass | Word splitting 2 |
details | |||||||||||
4 | pass | pass | pass | FAIL | pass | pass | pass | pass | pass | pass | $* |
details | |||||||||||
5 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | "$*" |
6 | pass | pass | pass | FAIL | pass | pass | pass | pass | pass | pass | $@ |
details | |||||||||||
7 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | "$@" |
8 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | empty argv |
details | |||||||||||
9 | pass | pass | pass | pass | pass | pass | FAIL | pass | FAIL | pass | $* with empty IFS |
details | details | ||||||||||
10 | pass | pass | pass | FAIL | pass | pass | FAIL | pass | pass | pass | Word elision with space |
details | details | ||||||||||
11 | pass | pass | pass | FAIL | pass | pass | pass | pass | FAIL | pass | Word elision with non-whitespace IFS |
details | details | ||||||||||
12 | pass | pass | pass | FAIL | pass | pass | pass | pass | FAIL | pass | Leading/trailing word elision with non-whitespace IFS |
details | details | ||||||||||
13 | pass | pass | pass | FAIL | pass | pass | FAIL | pass | FAIL | pass | Leading ' ' vs leading ' _ ' |
details | details | details | |||||||||
14 | pass | pass | pass | FAIL | pass | pass | pass | pass | FAIL | pass | Multiple non-whitespace IFS chars. |
details | details | ||||||||||
15 | pass | pass | pass | FAIL | pass | pass | pass | pass | FAIL | pass | IFS with whitespace and non-whitepace. |
details | details | ||||||||||
16 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | empty $@ and $* is elided |
17 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | unquoted empty arg is elided |
18 | pass | pass | pass | FAIL | pass | pass | FAIL | pass | pass | pass | unquoted whitespace arg is elided |
details | details | ||||||||||
19 | pass | pass | pass | FAIL | pass | pass | FAIL | pass | pass | pass | empty literals are not elided |
details | details | ||||||||||
20 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | no splitting when IFS is empty |
21 | pass | pass | pass | FAIL | pass | pass | FAIL | pass | FAIL | pass | default value can yield multiple words |
details | details | details | |||||||||
22 | pass | pass | pass | FAIL | pass | pass | FAIL | pass | FAIL | pass | default value can yield multiple words with part joining |
details | details | details | |||||||||
23 | pass | pass | pass | FAIL | pass | pass | FAIL | FAIL | FAIL | pass | default value with unquoted IFS char |
details | details | details | details | ||||||||
24 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | IFS empty doesn't do splitting |
25 | pass | pass | pass | FAIL | pass | pass | FAIL | pass | pass | pass | IFS unset behaves like $' \t\n' |
details | details | ||||||||||
26 | pass | pass | pass | FAIL | pass | pass | pass | FAIL | pass | FAIL | IFS='\' |
details | details | details | |||||||||
27 | pass | pass | pass | FAIL | pass | pass | pass | FAIL | FAIL | FAIL | IFS='\ ' |
details | details | details | details | ||||||||
28 | pass | pass | pass | FAIL | pass | pass | pass | pass | FAIL | pass | IFS characters are glob metacharacters |
details | details | ||||||||||
29 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | Trailing space |
30 | pass | pass | pass | FAIL | pass | pass | pass | pass | FAIL | pass | Empty IFS (regression for bug) |
details | details | ||||||||||
31 | pass | pass | pass | FAIL | pass | pass | pass | pass | pass | pass | Unset IFS (regression for bug) |
details | |||||||||||
32 | pass | pass | pass | pass | pass | pass | pass | pass | FAIL | pass | IFS=o (regression for bug) |
details | |||||||||||
33 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | IFS and joining arrays |
details | |||||||||||
34 | pass | BUG | BUG | FAIL | pass | pass | FAIL | pass | FAIL | FAIL | IFS and joining arrays by assignments |
details | details | details | details | details | details | ||||||
35 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | TODO |
36 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | IFS='' with $@ and $* (bug #627) |
details | |||||||||||
37 | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | pass | IFS='' with $@ and $* and printf (bug #627) |
details | |||||||||||
38 | pass | N-I | N-I | pass | pass | pass | FAIL | pass | pass | pass | IFS='' with ${a[@]} and ${a[*]} (bug #627) |
details | details | details | |||||||||
39 | BUG | N-I | N-I | FAIL | N-I | FAIL | FAIL | FAIL | pass | pass | IFS='' with ${!prefix@} and ${!prefix*} (bug #627) |
details | details | details | details | details | details | details | details | ||||
40 | BUG | N-I | N-I | FAIL | N-I | pass | FAIL | pass | pass | pass | IFS='' with ${!a[@]} and ${!a[*]} (bug #627) |
details | details | details | details | details | details | ||||||
41 | pass | pass | pass | FAIL | pass | pass | pass | pass | FAIL | FAIL | Bug #628 split on : with : in literal word |
details | details | details | |||||||||
42 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | Bug #698, similar crash |
43 | pass | pass | pass | FAIL | pass | pass | pass | pass | pass | FAIL | Bug #1664, \\ with noglob |
details | details | ||||||||||
44 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | Empty IFS bug #2141 (from pnut) |
45 | pass | BUG | BUG | pass | BUG | FAIL | pass | pass | FAIL | FAIL | Unicode in IFS |
details | details | details | details | details | details | ||||||
46 | pass | pass | pass | BUG | pass | pass | FAIL | pass | FAIL | pass | 4 x 3 table: (default IFS, IFS='', IFS=zx) x ( $* "$*" $@ "$@" ) |
details | details | details | |||||||||
47 | pass | pass | pass | FAIL | pass | pass | FAIL | pass | FAIL | pass | 4 x 3 table - with for loop |
details | details | details | |||||||||
48 | ok | pass | pass | FAIL | ok | FAIL | FAIL | FAIL | FAIL | pass | IFS=x and '' and $@ - same bug as spec/toysh-posix case #12 |
details | details | details | details | details | details | details | |||||
49 | ok | pass | pass | FAIL | ok | FAIL | FAIL | FAIL | pass | pass | IFS=x and '' and $@ (#2) |
details | details | details | details | details | details | ||||||
50 | ok | pass | pass | BUG | ok | FAIL | pass | FAIL | pass | pass | IFS=x and '' and $@ (#3) |
details | details | details | details | details | |||||||
51 | pass | pass | pass | FAIL | pass | pass | FAIL | pass | pass | FAIL | ""$A"" - empty string on both sides - derived from spec/toysh-posix #15 |
details | details | details |
404 passed, 6 OK, 8 not implemented, 9 BUG, 93 failed, 0 timeouts, 0 cases skipped 7 failed under osh
zsh | 0 IFS is scoped [zsh stdout] Expected "['ab', 'd']\n['a', 'cd']\n", got "['abcd']\n['abcd']\n" stdout: ['abcd'] ['abcd']stderr: |
toysh | 0 IFS is scoped [toysh stdout] Expected "['ab', 'd']\n['a', 'cd']\n", got "['a', 'cd']\n['a', 'cd']\n" stdout: ['a', 'cd'] ['a', 'cd']stderr: |
zsh | 1 Tilde sub is not split, but var sub is [zsh stdout] Expected "['foo bar']\n['foo', 'bar']\n", got "['foo bar']\n['foo bar']\n" stdout: ['foo bar'] ['foo bar']stderr: |
zsh | 2 Word splitting [zsh stdout] Expected "['1', '23 4']\n", got "['1 23 4']\n" stdout: ['1 23 4']stderr: |
zsh | 3 Word splitting 2 [zsh stdout] Expected "['1', '23 45', '67 8']\n", got "['1 23 45 67 8']\n" stdout: ['1 23 45 67 8']stderr: |
zsh | 4 $* [zsh stdout] Expected "['-a', '1', 'b', '2', 'c', '3-']\n", got "['-a 1', 'b 2', 'c 3-']\n" stdout: ['-a 1', 'b 2', 'c 3-']stderr: |
zsh | 6 $@ [zsh stdout] Expected "['-a', '1', 'b', '2', 'c', '3-']\n", got "['-a 1', 'b 2', 'c 3-']\n" stdout: ['-a 1', 'b 2', 'c 3-']stderr: |
toysh | 8 empty argv [toysh stdout] Expected "['1', '2', '3', '', '4', '5']\n", got "['1', '', '2', '3', '', '4', '5']\n" stdout: ['1', '', '2', '3', '', '4', '5']stderr: |
toysh | 9 $* with empty IFS [toysh stdout] Expected "['1 2', '3 4']\n['1 23 4']\n", got "[]\n['']\n" stdout: [] ['']stderr: set: bad -- |
brush | 9 $* with empty IFS [brush stdout] Expected "['1 2', '3 4']\n['1 23 4']\n", got "['1 2', '3 4']\n['1 2 3 4']\n" stdout: ['1 2', '3 4'] ['1 2 3 4']stderr: |
zsh | 10 Word elision with space [zsh stdout] Expected '[]\n', got "[' ']\n" stdout: [' ']stderr: |
toysh | 10 Word elision with space [toysh stdout] Expected '[]\n', got "['']\n" stdout: ['']stderr: |
zsh | 11 Word elision with non-whitespace IFS [zsh stdout] Expected "['']\n[' ']\n[]\n", got "['_']\n[' ']\n[]\n" stdout: ['_'] [' '] []stderr: |
brush | 11 Word elision with non-whitespace IFS [brush stdout] Expected "['']\n[' ']\n[]\n", got "[]\n[' ']\n[]\n" stdout: [] [' '] []stderr: |
zsh | 12 Leading/trailing word elision with non-whitespace IFS [zsh stdout] Expected "['', 'a', 'b']\n", got "['_a_b_']\n" stdout: ['_a_b_']stderr: |
brush | 12 Leading/trailing word elision with non-whitespace IFS [brush stdout] Expected "['', 'a', 'b']\n", got "['a', 'b']\n" stdout: ['a', 'b']stderr: |
zsh | 13 Leading ' ' vs leading ' _ ' [zsh stdout] Expected "['', 'a', 'b']\n['a', 'b']\n", got "['_ a b _ ']\n[' a b _ ']\n" stdout: ['_ a b _ '] [' a b _ ']stderr: |
toysh | 13 Leading ' ' vs leading ' _ ' [toysh stdout] Expected "['', 'a', 'b']\n['a', 'b']\n", got "['', 'a', 'b']\n['', 'a', 'b']\n" stdout: ['', 'a', 'b'] ['', 'a', 'b']stderr: |
brush | 13 Leading ' ' vs leading ' _ ' [brush stdout] Expected "['', 'a', 'b']\n['a', 'b']\n", got "['a', 'b']\n['a', 'b']\n" stdout: ['a', 'b'] ['a', 'b']stderr: |
zsh | 14 Multiple non-whitespace IFS chars. [zsh stdout] Expected "['a', '', 'b', '', '', 'c', 'd']\n", got "['a__b---c_d']\n" stdout: ['a__b---c_d']stderr: |
brush | 14 Multiple non-whitespace IFS chars. [brush stdout] Expected "['a', '', 'b', '', '', 'c', 'd']\n", got "['a', 'b', 'c', 'd']\n" stdout: ['a', 'b', 'c', 'd']stderr: |
zsh | 15 IFS with whitespace and non-whitepace. [zsh stdout] Expected "['a', 'b', '', '', 'c', 'd', 'e']\n", got "['a_b _ _ _ c _d e']\n" stdout: ['a_b _ _ _ c _d e']stderr: |
brush | 15 IFS with whitespace and non-whitepace. [brush stdout] Expected "['a', 'b', '', '', 'c', 'd', 'e']\n", got "['a', 'b', 'c', 'd', 'e']\n" stdout: ['a', 'b', 'c', 'd', 'e']stderr: |
zsh | 18 unquoted whitespace arg is elided [zsh stdout] Expected "['1', '2']\n", got "['1', ' ', '2']\n" stdout: ['1', ' ', '2']stderr: |
toysh | 18 unquoted whitespace arg is elided [toysh stdout] Expected "['1', '2']\n", got "['1', '', '2']\n" stdout: ['1', '', '2']stderr: |
zsh | 19 empty literals are not elided [zsh stdout] Expected "['1', '', '2']\n", got "['1', ' ', '2']\n" stdout: ['1', ' ', '2']stderr: |
toysh | 19 empty literals are not elided [toysh stdout] Expected "['1', '', '2']\n", got "['1', '', '', '2']\n" stdout: ['1', '', '', '2']stderr: |
zsh | 21 default value can yield multiple words [zsh stdout] Expected "['1', '2 3', '4 5', '6']\n", got "['1', '2 3 4 5', '6']\n" stdout: ['1', '2 3 4 5', '6']stderr: |
toysh | 21 default value can yield multiple words [toysh stdout] Expected "['1', '2 3', '4 5', '6']\n", got '[\'1\', \'"2\', \'3"\', \'"4\', \'5"\', \'6\']\n' stdout: ['1', '"2', '3"', '"4', '5"', '6']stderr: |
brush | 21 default value can yield multiple words [brush stdout] Expected "['1', '2 3', '4 5', '6']\n", got "['1', '2', '3', '4', '5', '6']\n" stdout: ['1', '2', '3', '4', '5', '6']stderr: |
zsh | 22 default value can yield multiple words with part joining [zsh stdout] Expected "['12 3', '4 56']\n", got "['12 3 4 56']\n" stdout: ['12 3 4 56']stderr: |
toysh | 22 default value can yield multiple words with part joining [toysh stdout] Expected "['12 3', '4 56']\n", got '[\'1"2\', \'3"\', \'"4\', \'5"6\']\n' stdout: ['1"2', '3"', '"4', '5"6']stderr: |
brush | 22 default value can yield multiple words with part joining [brush stdout] Expected "['12 3', '4 56']\n", got "['12', '3', '4', '56']\n" stdout: ['12', '3', '4', '56']stderr: |
zsh | 23 default value with unquoted IFS char [zsh stdout] Expected "['12_3x', 'x4_56']\n", got "['12_3x_x4_56']\n" stdout: ['12_3x_x4_56']stderr: |
toysh | 23 default value with unquoted IFS char [toysh stdout] Expected "['12_3x', 'x4_56']\n", got '[\'1"2\', \'3"x\', \'x"4\', \'5"6\']\n' stdout: ['1"2', '3"x', 'x"4', '5"6']stderr: |
sush | 23 default value with unquoted IFS char [sush stdout] Expected "['12_3x', 'x4_56']\n", got "['12_3x_x4_56']\n" stdout: ['12_3x_x4_56']stderr: |
brush | 23 default value with unquoted IFS char [brush stdout] Expected "['12_3x', 'x4_56']\n", got "['12', '3x', 'x4', '56']\n" stdout: ['12', '3x', 'x4', '56']stderr: |
zsh | 25 IFS unset behaves like $' \t\n' [zsh stdout] Expected "['a', 'b', 'c']\n", got "[' a b\\tc']\n" stdout: [' a b\tc']stderr: |
toysh | 25 IFS unset behaves like $' \t\n' [toysh stdout] Expected "['a', 'b', 'c']\n", got "['', 'a', 'b', 'c']\n" stdout: ['', 'a', 'b', 'c']stderr: |
zsh | 26 IFS='\' [zsh stdout] Expected "['a', 'b']\n", got "['a\\\\b']\n" stdout: ['a\\b']stderr: |
sush | 26 IFS='\' [sush stdout] Expected "['a', 'b']\n", got "['a\\\\b']\n" stdout: ['a\\b']stderr: |
osh | 26 IFS='\' [osh stdout] Expected "['a', 'b']\n", got "['a', '', '', '', 'b']\n" stdout: ['a', '', '', '', 'b']stderr: |
zsh | 27 IFS='\ ' [zsh stdout] Expected "['a', 'b', '', 'c', 'd']\n", got "['a\\\\b \\\\\\\\ c d\\\\']\n" stdout: ['a\\b \\\\ c d\\']stderr: |
sush | 27 IFS='\ ' [sush stdout] Expected "['a', 'b', '', 'c', 'd']\n", got "['a\\\\b', 'c', 'd\\\\']\n" stdout: ['a\\b', 'c', 'd\\']stderr: |
brush | 27 IFS='\ ' [brush stdout] Expected "['a', 'b', '', 'c', 'd']\n", got "['a', 'b', 'c', 'd']\n" stdout: ['a', 'b', 'c', 'd']stderr: |
osh | 27 IFS='\ ' [osh stdout] Expected "['a', 'b', '', 'c', 'd']\n", got "['a', '', '', '', 'b', '', '', '', '', '', '', '', 'c', 'd', '', '', '']\n" stdout: ['a', '', '', '', 'b', '', '', '', '', '', '', '', 'c', 'd', '', '', '']stderr: |
zsh | 28 IFS characters are glob metacharacters [zsh stdout] Expected "['a', 'b', 'c']\n['', 'x', 'y', 'z']\n['', 'x', 'y', 'z']\n" Got "['a*b c']\n['?x?y?z?']\n['[x[y[z[']\n" stdout: ['a*b c'] ['?x?y?z?'] ['[x[y[z[']stderr: |
brush | 28 IFS characters are glob metacharacters [brush stdout] Expected "['a', 'b', 'c']\n['', 'x', 'y', 'z']\n['', 'x', 'y', 'z']\n" Got "['a', 'b', 'c']\n['x', 'y', 'z']\n['x', 'y', 'z']\n" stdout: ['a', 'b', 'c'] ['x', 'y', 'z'] ['x', 'y', 'z']stderr: |
zsh | 30 Empty IFS (regression for bug) [zsh stdout] Expected '[]\n[abc]\n', got '' [zsh status] Expected 0, got 1 stdout: stderr: zsh: no matches found: [] |
brush | 30 Empty IFS (regression for bug) [brush stdout] Expected '[]\n[abc]\n', got '[]\n[a b c]\n' stdout: [] [a b c]stderr: |
zsh | 31 Unset IFS (regression for bug) [zsh stdout] Expected '[a b c]\n', got '' [zsh status] Expected 0, got 1 stdout: stderr: zsh: no matches found: [a b c] |
brush | 32 IFS=o (regression for bug) [brush stdout] Expected 'hi\n', got '' [brush status] Expected 0, got 127 stdout: stderr: ech: command not found |
toysh | 33 IFS and joining arrays [toysh stdout] Expected "['x', 'y z']\n['x', 'y z']\n['x:y z']\n['x', 'y z']\n" Got "['']\n[]\n['']\n[]\n" stdout: [''] [] [''] []stderr: set: bad -- |
dash | 34 IFS and joining arrays by assignments stdout: ['x:y z'] ['x:y z'] ['x:y z'] ['x:y z']stderr: |
ash | 34 IFS and joining arrays by assignments stdout: ['x:y z'] ['x:y z'] ['x:y z'] ['x:y z']stderr: |
zsh | 34 IFS and joining arrays by assignments [zsh stdout] Expected "['x y z']\n['x y z']\n['x:y z']\n['x:y z']\n" Got "['x:y z']\n['x:y z']\n['x:y z']\n['x:y z']\n" stdout: ['x:y z'] ['x:y z'] ['x:y z'] ['x:y z']stderr: |
toysh | 34 IFS and joining arrays by assignments [toysh stdout] Expected "['x y z']\n['x y z']\n['x:y z']\n['x:y z']\n" Got "['']\n['']\n['']\n['']\n" stdout: [''] [''] [''] ['']stderr: set: bad -- |
brush | 34 IFS and joining arrays by assignments [brush stdout] Expected "['x y z']\n['x y z']\n['x:y z']\n['x:y z']\n" Got "['x y z']\n['x y z']\n['x:y z']\n['x y z']\n" stdout: ['x y z'] ['x y z'] ['x:y z'] ['x y z']stderr: |
osh | 34 IFS and joining arrays by assignments [osh stdout] Expected "['x y z']\n['x y z']\n['x:y z']\n['x:y z']\n" Got "['x y z']\n['x y z']\n['x:y z']\n['x y z']\n" stdout: ['x y z'] ['x y z'] ['x:y z'] ['x y z']stderr: |
toysh | 36 IFS='' with $@ and $* (bug #627) [toysh stdout] Expected "['at', 'a', 'b c']\n['star', 'a', 'b c']\n" Got "['at']\n['star']\n" stdout: ['at'] ['star']stderr: set: bad -- |
toysh | 37 IFS='' with $@ and $* and printf (bug #627) [toysh stdout] Expected '[a]\n[b c]\n[a]\n[b c]\n', got '[]\n[]\n' stdout: [] []stderr: set: bad -- |
dash | 38 IFS='' with ${a[@]} and ${a[*]} (bug #627) stdout: stderr: |
ash | 38 IFS='' with ${a[@]} and ${a[*]} (bug #627) stdout: stderr: |
toysh | 38 IFS='' with ${a[@]} and ${a[*]} (bug #627) [toysh stdout] Expected "['at', 'a', 'b c']\n['star', 'a', 'b c']\n" Got '' [toysh status] Expected 0, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
bash | 39 IFS='' with ${!prefix@} and ${!prefix*} (bug #627) stdout: ['at', 'gLwbmGzS_var1', 'gLwbmGzS_var2'] ['star', 'gLwbmGzS_var1gLwbmGzS_var2']stderr: |
dash | 39 IFS='' with ${!prefix@} and ${!prefix*} (bug #627) stdout: stderr: |
ash | 39 IFS='' with ${!prefix@} and ${!prefix*} (bug #627) stdout: stderr: |
zsh | 39 IFS='' with ${!prefix@} and ${!prefix*} (bug #627) [zsh stdout] Expected "['at', 'gLwbmGzS_var1', 'gLwbmGzS_var2']\n['star', 'gLwbmGzS_var1', 'gLwbmGzS_var2']\n" Got '' [zsh status] Expected 0, got 1 stdout: stderr: zsh: bad substitution |
mksh | 39 IFS='' with ${!prefix@} and ${!prefix*} (bug #627) stdout: stderr: |
ksh | 39 IFS='' with ${!prefix@} and ${!prefix*} (bug #627) [ksh stdout] Expected "['at', 'gLwbmGzS_var1', 'gLwbmGzS_var2']\n['star', 'gLwbmGzS_var1', 'gLwbmGzS_var2']\n" Got '' [ksh status] Expected 0, got 1 stdout: stderr: E: ksh: <stdin>[6]: ${!gLwbmGzS_@}: bad substitution |
toysh | 39 IFS='' with ${!prefix@} and ${!prefix*} (bug #627) [toysh stdout] Expected "['at', 'gLwbmGzS_var1', 'gLwbmGzS_var2']\n['star', 'gLwbmGzS_var1', 'gLwbmGzS_var2']\n" Got '' [toysh status] Expected 0, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
sush | 39 IFS='' with ${!prefix@} and ${!prefix*} (bug #627) [sush stdout] Expected "['at', 'gLwbmGzS_var1', 'gLwbmGzS_var2']\n['star', 'gLwbmGzS_var1', 'gLwbmGzS_var2']\n" Got '' [sush status] Expected 0, got 1 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: `${!gLwbmGzS_@}': bad substitution /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 7: `${!gLwbmGzS_*}': bad substitution |
bash | 40 IFS='' with ${!a[@]} and ${!a[*]} (bug #627) stdout: ['at', '0', '1', '2'] ['star', '0 1 2']stderr: |
dash | 40 IFS='' with ${!a[@]} and ${!a[*]} (bug #627) stdout: stderr: |
ash | 40 IFS='' with ${!a[@]} and ${!a[*]} (bug #627) stdout: stderr: |
zsh | 40 IFS='' with ${!a[@]} and ${!a[*]} (bug #627) [zsh stdout] Expected "['at', '0', '1', '2']\n['star', '0', '1', '2']\n" Got '' [zsh status] Expected 0, got 1 stdout: stderr: zsh: bad substitution |
mksh | 40 IFS='' with ${!a[@]} and ${!a[*]} (bug #627) stdout: stderr: |
toysh | 40 IFS='' with ${!a[@]} and ${!a[*]} (bug #627) [toysh stdout] Expected "['at', '0', '1', '2']\n['star', '0', '1', '2']\n" Got '' [toysh status] Expected 0, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
zsh | 41 Bug #628 split on : with : in literal word [zsh stdout] Expected "['a', ':b']\n['a', ':']\n---\n['a', 'zb']\n['a', 'z']\n" Got "['a::b']\n['a::']\n---\n['azzb']\n['azz']\n" stdout: ['a::b'] ['a::'] --- ['azzb'] ['azz']stderr: |
brush | 41 Bug #628 split on : with : in literal word [brush stdout] Expected "['a', ':b']\n['a', ':']\n---\n['a', 'zb']\n['a', 'z']\n" Got "['a', 'b']\n['a']\n---\n['a', 'b']\n['a']\n" stdout: ['a', 'b'] ['a'] --- ['a', 'b'] ['a']stderr: |
osh | 41 Bug #628 split on : with : in literal word [osh stdout] Expected "['a', ':b']\n['a', ':']\n---\n['a', 'zb']\n['a', 'z']\n" Got "['a', '\\\\', 'b']\n['a', '\\\\']\n---\n['a', '\\\\', 'b']\n['a', '\\\\']\n" stdout: ['a', '\\', 'b'] ['a', '\\'] --- ['a', '\\', 'b'] ['a', '\\']stderr: |
zsh | 43 Bug #1664, \\ with noglob [zsh stdout] Expected "['[\\\\]_']\n['[\\\\]_']\nnoglob\n['[\\\\]_']\n['[\\\\]_']\n" Got "['[\\\\]_']\nnoglob\n['[\\\\]_']\n" stdout: ['[\\]_'] noglob ['[\\]_']stderr: zsh: no matches found: [\]_ zsh: no matches found: [\]_ |
osh | 43 Bug #1664, \\ with noglob [osh stdout] Expected "['[\\\\]_']\n['[\\\\]_']\nnoglob\n['[\\\\]_']\n['[\\\\]_']\n" Got "['[\\\\]_']\n['[\\\\]_']\nnoglob\n['[\\\\\\\\]_']\n['[\\\\]_']\n" stdout: ['[\\]_'] ['[\\]_'] noglob ['[\\\\]_'] ['[\\]_']stderr: |
dash | 45 Unicode in IFS stdout: <> <> <x>stderr: dash: 1: setopt: not found |
ash | 45 Unicode in IFS stdout: <> <> <x>stderr: ash: setopt: not found |
mksh | 45 Unicode in IFS stdout: <> <> <x>stderr: mksh: <stdin>[1]: setopt: not found |
ksh | 45 Unicode in IFS [ksh stdout] Expected '<>\n<x>\n', got '<>\n<>\n<x>\n' stdout: <> <> <x>stderr: E: ksh: <stdin>[1]: setopt: inaccessible or not found |
brush | 45 Unicode in IFS [brush stdout] Expected '<>\n<x>\n', got '<x>\n' stdout: <x>stderr: setopt: command not found |
osh | 45 Unicode in IFS [osh stdout] Expected '<>\n<x>\n', got '<>\n<>\n<x>\n' stdout: <> <> <x>stderr: setopt SH_WORD_SPLIT ^~~~~~ [ stdin ]:1: Command 'setopt' not found (OILS-ERR-100) |
zsh | 46 4 x 3 table: (default IFS, IFS='', IFS=zx) x ( $* "$*" $@ "$@" ) stdout: [' $* ', 'a', 'b', 'c'] [' "$*" ', 'a b c '] [' $@ ', 'a b', 'c'] [' "$@" ', 'a b', 'c', ''] [' $* ', 'a b', 'c'] [' "$*" ', 'a bc'] [' $@ ', 'a b', 'c'] [' "$@" ', 'a b', 'c', ''] [' $* ', 'a b', 'c', ''] [' "$*" ', 'a bzcz'] [' $@ ', 'a b', 'c'] [' "$@" ', 'a b', 'c', '']stderr: |
toysh | 46 4 x 3 table: (default IFS, IFS='', IFS=zx) x ( $* "$*" $@ "$@" ) [toysh stdout] Expected '[\' $* \', \'a\', \'b\', \'c\']\n[\' "$*" \', \'a b c \']\n[\' $@ \', \'a\', \'b\', \'c\']\n[\' "$@" \', \'a b\', \'c\', \'\']\n\n[\' $* \', \'a b\', \'c\']\n[\' "$*" \', \'a bc\']\n[\' $@ \', \'a b\', \'c\']\n[\' "$@" \', \'a b\', \'c\', \'\']\n\n[\' $* \', \'a b\', \'c\']\n[\' "$*" \', \'a bzcz\']\n[\' $@ \', \'a b\', \'c\']\n[\' "$@" \', \'a b\', \'c\', \'\']\n' Got '[\' $* \']\n[\' "$*" \', \'\']\n[\' $@ \']\n[\' "$@" \', \'\']\n\n[\' $* \']\n[\' "$*" \', \'\']\n[\' $@ \']\n[\' "$@" \', \'\']\n\n[\' $* \']\n[\' "$*" \', \'\']\n[\' $@ \']\n[\' "$@" \', \'\']\n' stdout: [' $* '] [' "$*" ', ''] [' $@ '] [' "$@" ', ''] [' $* '] [' "$*" ', ''] [' $@ '] [' "$@" ', ''] [' $* '] [' "$*" ', ''] [' $@ '] [' "$@" ', '']stderr: sh: setopt: No such file or directory set: bad -- |
brush | 46 4 x 3 table: (default IFS, IFS='', IFS=zx) x ( $* "$*" $@ "$@" ) [brush stdout] Expected '[\' $* \', \'a\', \'b\', \'c\']\n[\' "$*" \', \'a b c \']\n[\' $@ \', \'a\', \'b\', \'c\']\n[\' "$@" \', \'a b\', \'c\', \'\']\n\n[\' $* \', \'a b\', \'c\']\n[\' "$*" \', \'a bc\']\n[\' $@ \', \'a b\', \'c\']\n[\' "$@" \', \'a b\', \'c\', \'\']\n\n[\' $* \', \'a b\', \'c\']\n[\' "$*" \', \'a bzcz\']\n[\' $@ \', \'a b\', \'c\']\n[\' "$@" \', \'a b\', \'c\', \'\']\n' Got '[\' $* \', \'a\', \'b\', \'c\']\n[\' "$*" \', \'a b c \']\n[\' $@ \', \'a\', \'b\', \'c\']\n[\' "$@" \', \'a b\', \'c\', \'\']\n\n[\' $* \', \'a b\', \'c\']\n[\' "$*" \', \'a b c \']\n[\' $@ \', \'a b\', \'c\']\n[\' "$@" \', \'a b\', \'c\', \'\']\n\n[\' $* \', \'a b\', \'c\']\n[\' "$*" \', \'a bzcz\']\n[\' $@ \', \'a b\', \'c\']\n[\' "$@" \', \'a b\', \'c\', \'\']\n' stdout: [' $* ', 'a', 'b', 'c'] [' "$*" ', 'a b c '] [' $@ ', 'a', 'b', 'c'] [' "$@" ', 'a b', 'c', ''] [' $* ', 'a b', 'c'] [' "$*" ', 'a b c '] [' $@ ', 'a b', 'c'] [' "$@" ', 'a b', 'c', ''] [' $* ', 'a b', 'c'] [' "$*" ', 'a bzcz'] [' $@ ', 'a b', 'c'] [' "$@" ', 'a b', 'c', '']stderr: setopt: command not found |
zsh | 47 4 x 3 table - with for loop [zsh stdout] Expected ' $* -a- -b- -c-\n "$*" -a b c -\n $@ -a- -b- -c-\n "$@" -a b- -c- --\n\n $* -a b- -c-\n "$*" -a bc-\n $@ -a b- -c-\n "$@" -a b- -c- --\n\n $* -a b- -c-\n "$*" -a b c -\n $@ -a b- -c-\n "$@" -a b- -c- --\n' Got ' $* -a- -b- -c-\n "$*" -a b c -\n $@ -a b- -c-\n "$@" -a b- -c- --\n\n $* -a b- -c-\n "$*" -a bc-\n $@ -a b- -c-\n "$@" -a b- -c- --\n\n $* -a b- -c- --\n "$*" -a b c -\n $@ -a b- -c-\n "$@" -a b- -c- --\n' stdout: $* -a- -b- -c- "$*" -a b c - $@ -a b- -c- "$@" -a b- -c- -- $* -a b- -c- "$*" -a bc- $@ -a b- -c- "$@" -a b- -c- -- $* -a b- -c- -- "$*" -a b c - $@ -a b- -c- "$@" -a b- -c- --stderr: |
toysh | 47 4 x 3 table - with for loop [toysh stdout] Expected ' $* -a- -b- -c-\n "$*" -a b c -\n $@ -a- -b- -c-\n "$@" -a b- -c- --\n\n $* -a b- -c-\n "$*" -a bc-\n $@ -a b- -c-\n "$@" -a b- -c- --\n\n $* -a b- -c-\n "$*" -a b c -\n $@ -a b- -c-\n "$@" -a b- -c- --\n' Got '' [toysh status] Expected 0, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
brush | 47 4 x 3 table - with for loop [brush stdout] Expected ' $* -a- -b- -c-\n "$*" -a b c -\n $@ -a- -b- -c-\n "$@" -a b- -c- --\n\n $* -a b- -c-\n "$*" -a bc-\n $@ -a b- -c-\n "$@" -a b- -c- --\n\n $* -a b- -c-\n "$*" -a b c -\n $@ -a b- -c-\n "$@" -a b- -c- --\n' Got ' $* -a- -b- -c-\n "$*" -a b c -\n $@ -a- -b- -c-\n "$@" -a b- -c- --\n\n $* -a b- -c-\n "$*" -a b c -\n $@ -a b- -c-\n "$@" -a b- -c- --\n\n $* -a b- -c-\n "$*" -a b c -\n $@ -a b- -c-\n "$@" -a b- -c- --\n' stdout: $* -a- -b- -c- "$*" -a b c - $@ -a- -b- -c- "$@" -a b- -c- -- $* -a b- -c- "$*" -a b c - $@ -a b- -c- "$@" -a b- -c- -- $* -a b- -c- "$*" -a b c - $@ -a b- -c- "$@" -a b- -c- --stderr: setopt: command not found |
bash | 48 IFS=x and '' and $@ - same bug as spec/toysh-posix case #12 stdout: $* -one- -- -two- "$*" -one two- $@ -one- -- -two- "$@" -one- -- -two- [' $* ', 'one', '', 'two'] [' "$*" ', 'onezztwo'] [' $@ ', 'one', '', 'two'] [' "$@" ', 'one', '', 'two']stderr: bash: line 3: setopt: command not found |
zsh | 48 IFS=x and '' and $@ - same bug as spec/toysh-posix case #12 [zsh stdout] Expected ' $* -one- -two-\n "$*" -one two-\n $@ -one- -two-\n "$@" -one- -- -two-\n[\' $* \', \'one\', \'two\']\n[\' "$*" \', \'onezztwo\']\n[\' $@ \', \'one\', \'two\']\n[\' "$@" \', \'one\', \'\', \'two\']\n' Got ' $* -one- -- -two-\n "$*" -one two-\n $@ -one- -two-\n "$@" -one- -- -two-\n[\' $* \', \'one\', \'\', \'two\']\n[\' "$*" \', \'onezztwo\']\n[\' $@ \', \'one\', \'two\']\n[\' "$@" \', \'one\', \'\', \'two\']\n' stdout: $* -one- -- -two- "$*" -one two- $@ -one- -two- "$@" -one- -- -two- [' $* ', 'one', '', 'two'] [' "$*" ', 'onezztwo'] [' $@ ', 'one', 'two'] [' "$@" ', 'one', '', 'two']stderr: |
mksh | 48 IFS=x and '' and $@ - same bug as spec/toysh-posix case #12 stdout: $* -one- -- -two- "$*" -one two- $@ -one- -- -two- "$@" -one- -- -two- [' $* ', 'one', '', 'two'] [' "$*" ', 'onezztwo'] [' $@ ', 'one', '', 'two'] [' "$@" ', 'one', '', 'two']stderr: mksh: <stdin>[3]: setopt: not found |
ksh | 48 IFS=x and '' and $@ - same bug as spec/toysh-posix case #12 [ksh stdout] Expected ' $* -one- -two-\n "$*" -one two-\n $@ -one- -two-\n "$@" -one- -- -two-\n[\' $* \', \'one\', \'two\']\n[\' "$*" \', \'onezztwo\']\n[\' $@ \', \'one\', \'two\']\n[\' "$@" \', \'one\', \'\', \'two\']\n' Got ' $* -one- -- -two-\n "$*" -one two-\n $@ -one- -- -two-\n "$@" -one- -- -two-\n[\' $* \', \'one\', \'\', \'two\']\n[\' "$*" \', \'onezztwo\']\n[\' $@ \', \'one\', \'\', \'two\']\n[\' "$@" \', \'one\', \'\', \'two\']\n' stdout: $* -one- -- -two- "$*" -one two- $@ -one- -- -two- "$@" -one- -- -two- [' $* ', 'one', '', 'two'] [' "$*" ', 'onezztwo'] [' $@ ', 'one', '', 'two'] [' "$@" ', 'one', '', 'two']stderr: E: ksh: <stdin>[3]: setopt: inaccessible or not found |
toysh | 48 IFS=x and '' and $@ - same bug as spec/toysh-posix case #12 [toysh stdout] Expected ' $* -one- -two-\n "$*" -one two-\n $@ -one- -two-\n "$@" -one- -- -two-\n[\' $* \', \'one\', \'two\']\n[\' "$*" \', \'onezztwo\']\n[\' $@ \', \'one\', \'two\']\n[\' "$@" \', \'one\', \'\', \'two\']\n' Got '' [toysh status] Expected 0, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
sush | 48 IFS=x and '' and $@ - same bug as spec/toysh-posix case #12 [sush stdout] Expected ' $* -one- -two-\n "$*" -one two-\n $@ -one- -two-\n "$@" -one- -- -two-\n[\' $* \', \'one\', \'two\']\n[\' "$*" \', \'onezztwo\']\n[\' $@ \', \'one\', \'two\']\n[\' "$@" \', \'one\', \'\', \'two\']\n' Got ' $* -one- -- -two-\n "$*" -one two-\n $@ -one- -- -two-\n "$@" -one- -- -two-\n[\' $* \', \'one\', \'\', \'two\']\n[\' "$*" \', \'onezztwo\']\n[\' $@ \', \'one\', \'\', \'two\']\n[\' "$@" \', \'one\', \'\', \'two\']\n' stdout: $* -one- -- -two- "$*" -one two- $@ -one- -- -two- "$@" -one- -- -two- [' $* ', 'one', '', 'two'] [' "$*" ', 'onezztwo'] [' $@ ', 'one', '', 'two'] [' "$@" ', 'one', '', 'two']stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: setopt: command not found |
brush | 48 IFS=x and '' and $@ - same bug as spec/toysh-posix case #12 [brush stdout] Expected ' $* -one- -two-\n "$*" -one two-\n $@ -one- -two-\n "$@" -one- -- -two-\n[\' $* \', \'one\', \'two\']\n[\' "$*" \', \'onezztwo\']\n[\' $@ \', \'one\', \'two\']\n[\' "$@" \', \'one\', \'\', \'two\']\n' Got ' $* -one- -two-\n "$*" -one two-\n $@ -one- -two-\n "$@" -one- -- -two-\n[\' $* \', \'one\', \'two\']\n[\' "$*" \', \'onezztwo\']\n[\' $@ \', \'one\', \'two\']\n[\' "$@" \', \'one\', \'\', \'two\']\n' stdout: $* -one- -two- "$*" -one two- $@ -one- -two- "$@" -one- -- -two- [' $* ', 'one', 'two'] [' "$*" ', 'onezztwo'] [' $@ ', 'one', 'two'] [' "$@" ', 'one', '', 'two']stderr: setopt: command not found |
bash | 49 IFS=x and '' and $@ (#2) stdout: ['=', '='] ['=', '='] ['=', '='] ['=', '='] ['=', '', '', '', '='] ['=', '', '', '', '=']stderr: bash: line 1: setopt: command not found |
zsh | 49 IFS=x and '' and $@ (#2) [zsh stdout] Expected "['=', '=']\n['=', '=']\n\n['=', '=']\n['=', '=']\n\n['=', '=']\n['=', '=']\n" Got "['=', '=']\n['=', '=']\n\n['=', '=']\n['=', '=']\n\n['=', '=']\n['=', '', '', '', '=']\n" stdout: ['=', '='] ['=', '='] ['=', '='] ['=', '='] ['=', '='] ['=', '', '', '', '=']stderr: |
mksh | 49 IFS=x and '' and $@ (#2) stdout: ['=', '='] ['=', '='] ['=', '='] ['=', '='] ['=', '', '', '', '='] ['=', '', '', '', '=']stderr: mksh: <stdin>[1]: setopt: not found |
ksh | 49 IFS=x and '' and $@ (#2) [ksh stdout] Expected "['=', '=']\n['=', '=']\n\n['=', '=']\n['=', '=']\n\n['=', '=']\n['=', '=']\n" Got "['=', '=']\n['=', '=']\n\n['=', '=']\n['=', '=']\n\n['=', '', '', '', '=']\n['=', '', '', '', '=']\n" stdout: ['=', '='] ['=', '='] ['=', '='] ['=', '='] ['=', '', '', '', '='] ['=', '', '', '', '=']stderr: E: ksh: <stdin>[1]: setopt: inaccessible or not found |
toysh | 49 IFS=x and '' and $@ (#2) [toysh stdout] Expected "['=', '=']\n['=', '=']\n\n['=', '=']\n['=', '=']\n\n['=', '=']\n['=', '=']\n" Got "['==']\n['==']\n\n['==']\n['==']\n\n['==']\n['==']\n" stdout: ['=='] ['=='] ['=='] ['=='] ['=='] ['==']stderr: sh: setopt: No such file or directory set: bad -- |
sush | 49 IFS=x and '' and $@ (#2) [sush stdout] Expected "['=', '=']\n['=', '=']\n\n['=', '=']\n['=', '=']\n\n['=', '=']\n['=', '=']\n" Got "['=', '=']\n['=', '=']\n\n['=', '', '', '', '=']\n['==']\n\n['=', '', '', '', '=']\n['=', '', '', '', '=']\n" stdout: ['=', '='] ['=', '='] ['=', '', '', '', '='] ['=='] ['=', '', '', '', '='] ['=', '', '', '', '=']stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: setopt: command not found |
bash | 50 IFS=x and '' and $@ (#3) stdout: ['', '', '', ''] ['', '', ''] ['', ''] [''] []stderr: bash: line 1: setopt: command not found |
zsh | 50 IFS=x and '' and $@ (#3) stdout: ['', '', '', '', ''] ['', '', '', '', ''] ['', '', '', '', ''] ['', '', '', '', ''] ['', '', '', '', '']stderr: |
mksh | 50 IFS=x and '' and $@ (#3) stdout: ['', '', ''] [''] [] [] []stderr: mksh: <stdin>[1]: setopt: not found |
ksh | 50 IFS=x and '' and $@ (#3) [ksh stdout] Expected '[]\n[]\n[]\n[]\n[]\n', got "['', '', '']\n['']\n[]\n[]\n[]\n" stdout: ['', '', ''] [''] [] [] []stderr: E: ksh: <stdin>[1]: setopt: inaccessible or not found |
sush | 50 IFS=x and '' and $@ (#3) [sush stdout] Expected '[]\n[]\n[]\n[]\n[]\n', got "['', '', '', '']\n['', '', '']\n['', '']\n['']\n[]\n" stdout: ['', '', '', ''] ['', '', ''] ['', ''] [''] []stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: setopt: command not found |
zsh | 51 ""$A"" - empty string on both sides - derived from spec/toysh-posix #15 [zsh stdout] Expected "['abc', 'def']\n['', 'abc', 'def', '']\n['abc', 'def']\n['', 'abc', 'def', '']\n\n=abc=\n=def=\n\n==\n=abc=\n=def=\n==\n\n=abc=\n=def=\n\n==\n=abc=\n=def=\n==\n" Got "[' abc def ']\n[' abc def ']\n[' abc def ']\n[' abc def ']\n\n" [zsh status] Expected 0, got 1 stdout: [' abc def '] [' abc def '] [' abc def '] [' abc def ']stderr: zsh: abc def = not found |
toysh | 51 ""$A"" - empty string on both sides - derived from spec/toysh-posix #15 [toysh stdout] Expected "['abc', 'def']\n['', 'abc', 'def', '']\n['abc', 'def']\n['', 'abc', 'def', '']\n\n=abc=\n=def=\n\n==\n=abc=\n=def=\n==\n\n=abc=\n=def=\n\n==\n=abc=\n=def=\n==\n" Got "['', 'abc', 'def']\n['', 'abc', 'def', '']\n['', 'abc', 'def']\n['', 'abc', 'def', '']\n\n==\n=abc=\n=def=\n\n==\n=abc=\n=def=\n==\n\n==\n=abc=\n=def=\n\n==\n=abc=\n=def=\n==\n" stdout: ['', 'abc', 'def'] ['', 'abc', 'def', ''] ['', 'abc', 'def'] ['', 'abc', 'def', ''] == =abc= =def= == =abc= =def= == == =abc= =def= == =abc= =def= ==stderr: |
osh | 51 ""$A"" - empty string on both sides - derived from spec/toysh-posix #15 [osh stdout] Expected "['abc', 'def']\n['', 'abc', 'def', '']\n['abc', 'def']\n['', 'abc', 'def', '']\n\n=abc=\n=def=\n\n==\n=abc=\n=def=\n==\n\n=abc=\n=def=\n\n==\n=abc=\n=def=\n==\n" Got "['abc', 'def']\n['abc', 'def']\n['abc', 'def']\n['abc', 'def']\n\n=abc=\n=def=\n\n=abc=\n=def=\n\n=abc=\n=def=\n\n=abc=\n=def=\n" stdout: ['abc', 'def'] ['abc', 'def'] ['abc', 'def'] ['abc', 'def'] =abc= =def= =abc= =def= =abc= =def= =abc= =def=stderr: |