spec test index / oilshell.org
status | dash | bash | mksh | osh | osh_ALT | |
pass | 32 | 35 | 35 | 32 | 32 | |
ok | 1 | 0 | 0 | 0 | 0 | |
N-I | 2 | 0 | 0 | 0 | 0 | |
FAIL | 0 | 0 | 0 | 3 | 3 | |
total | 35 | 35 | 35 | 35 | 35 | |
case | dash | bash | mksh | osh | osh_ALT | description |
0 | pass | pass | pass | pass | pass | IFS is scoped |
1 | pass | pass | pass | pass | pass | Tilde sub is not split, but var sub is |
2 | pass | pass | pass | pass | pass | Word splitting |
3 | pass | pass | pass | pass | pass | Word splitting 2 |
4 | pass | pass | pass | pass | pass | $* |
5 | pass | pass | pass | pass | pass | "$*" |
6 | pass | pass | pass | pass | pass | $@ |
7 | pass | pass | pass | pass | pass | "$@" |
8 | pass | pass | pass | pass | pass | empty argv |
9 | pass | pass | pass | pass | pass | Word elision with space |
10 | pass | pass | pass | pass | pass | Word elision with non-whitespace IFS |
11 | pass | pass | pass | pass | pass | Leading/trailing word elision with non-whitespace IFS |
12 | pass | pass | pass | pass | pass | Leading ' ' vs leading ' _ ' |
13 | pass | pass | pass | pass | pass | Multiple non-whitespace IFS chars. |
14 | pass | pass | pass | pass | pass | IFS with whitespace and non-whitepace. |
15 | pass | pass | pass | pass | pass | empty $@ and $* is elided |
16 | pass | pass | pass | pass | pass | unquoted empty arg is elided |
17 | pass | pass | pass | pass | pass | unquoted whitespace arg is elided |
18 | pass | pass | pass | pass | pass | empty literals are not elided |
19 | pass | pass | pass | pass | pass | no splitting when IFS is empty |
20 | pass | pass | pass | pass | pass | default value can yield multiple words |
21 | pass | pass | pass | pass | pass | default value can yield multiple words with part joining |
22 | pass | pass | pass | pass | pass | default value with unquoted IFS char |
23 | N-I | pass | pass | pass | pass | IFS empty doesn't do splitting |
details | ||||||
24 | N-I | pass | pass | pass | pass | IFS unset behaves like $' \t\n' |
details | ||||||
25 | pass | pass | pass | FAIL | FAIL | IFS='\' |
details | details | |||||
26 | pass | pass | pass | FAIL | FAIL | IFS='\ ' |
details | details | |||||
27 | pass | pass | pass | pass | pass | IFS characters are glob metacharacters |
28 | pass | pass | pass | pass | pass | Trailing space |
29 | pass | pass | pass | pass | pass | Empty IFS (regression for bug) |
30 | pass | pass | pass | pass | pass | Unset IFS (regression for bug) |
31 | pass | pass | pass | pass | pass | IFS=o (regression for bug) |
32 | pass | pass | pass | pass | pass | IFS and joining arrays |
33 | ok | pass | pass | FAIL | FAIL | IFS and joining arrays by assignments |
details | details | details | ||||
34 | pass | pass | pass | pass | pass | TODO |
166 passed, 1 OK, 2 not implemented, 0 BUG, 3 failed, 0 timeouts, 0 cases skipped 3 failed under osh
dash | 23 IFS empty doesn't do splitting stdout: ['-e a b\tc']stderr: |
dash | 24 IFS unset behaves like $' \t\n' stdout: ['-e', 'a', 'b', 'c']stderr: |
osh | 25 IFS='\' [osh stdout] Expected "['a', 'b']\n", got "['a', '', '', '', 'b']\n" stdout: ['a', '', '', '', 'b']stderr: |
osh_ALT | 25 IFS='\' [osh_ALT stdout] Expected "['a', 'b']\n", got "['a', '', '', '', 'b']\n" stdout: ['a', '', '', '', 'b']stderr: |
osh | 26 IFS='\ ' [osh stdout] Expected "['a', 'b', '', 'c', 'd']\n", got "['a', '', '', '', 'b', '', '', '', '', '', '', '', 'c', 'd', '', '', '']\n" stdout: ['a', '', '', '', 'b', '', '', '', '', '', '', '', 'c', 'd', '', '', '']stderr: |
osh_ALT | 26 IFS='\ ' [osh_ALT stdout] Expected "['a', 'b', '', 'c', 'd']\n", got "['a', '', '', '', 'b', '', '', '', '', '', '', '', 'c', 'd', '', '', '']\n" stdout: ['a', '', '', '', 'b', '', '', '', '', '', '', '', 'c', 'd', '', '', '']stderr: |
dash | 33 IFS and joining arrays by assignments stdout: ['x:y z'] ['x:y z'] ['x:y z'] ['x:y z']stderr: /home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 7: sx:y z: not found |
osh | 33 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: s"$*" ^ [ stdin ]:7: 'sx:y z' not found |
osh_ALT | 33 IFS and joining arrays by assignments [osh_ALT 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: s"$*" ^ [ stdin ]:7: 'sx:y z' not found |