| case | dash | bash | mksh | osh | osh_ALT | description |
| 0 | pass | pass | pass | pass | pass | echo dashes |
| 1 | N-I | pass | pass | FAIL | FAIL | echo -en |
| details | details | details | ||||
| 2 | BUG | pass | BUG | pass | pass | echo -ez (invalid flag) |
| details | details | |||||
| 3 | pass | pass | pass | pass | pass | exec builtin |
| 4 | pass | pass | pass | pass | pass | exec builtin with redirects |
| 5 | pass | pass | pass | pass | pass | exec builtin with here doc |
| 6 | pass | pass | pass | pass | pass | cd and $PWD |
| 7 | pass | pass | pass | pass | pass | $OLDPWD |
| 8 | pass | pass | pass | pass | pass | cd with no arguments |
| 9 | ok | pass | ok | pass | pass | cd to nonexistent dir |
| details | details | |||||
| 10 | N-I | pass | N-I | pass | pass | pushd/popd |
| details | details | |||||
| 11 | pass | pass | pass | pass | pass | Eval |
| 12 | pass | pass | pass | pass | pass | Source |
| 13 | ok | pass | pass | pass | pass | Source nonexistent |
| details | ||||||
| 14 | ok | ok | pass | pass | pass | Source with no arguments |
| details | details | |||||
| 15 | pass | pass | pass | pass | pass | Exit builtin |
| 16 | ok | ok | pass | pass | pass | Exit builtin with invalid arg |
| details | details | |||||
| 17 | BUG | pass | ok | pass | pass | Exit builtin with too many args |
| details | details | |||||
| 18 | BUG | pass | pass | pass | pass | time block |
| details | ||||||
| 19 | pass | pass | pass | pass | pass | time pipeline |
| 20 | pass | pass | pass | pass | pass | shift |
| 21 | ok | pass | pass | pass | pass | Shifting too far |
| details | ||||||
| 22 | ok | pass | BUG | pass | pass | Invalid shift argument |
| details | details | |||||
| 23 | pass | pass | pass | pass | pass | Read builtin |
| 24 | pass | pass | pass | pass | pass | Read builtin with no newline. |
| 25 | pass | pass | pass | pass | pass | Read builtin with multiple variables |
| 26 | pass | pass | pass | pass | pass | Read builtin with not enough variables |
| 27 | pass | pass | pass | pass | pass | get umask |
| 28 | N-I | pass | pass | pass | pass | Read -n (with $REPLY) |
| details | ||||||
| 29 | pass | pass | pass | FAIL | FAIL | read -r ignores backslashes |
| details | details | |||||
| 30 | pass | pass | pass | pass | pass | get umask |
| 31 | pass | pass | pass | pass | pass | set umask in octal |
| 32 | pass | pass | pass | FAIL | FAIL | set umask symbolically |
| details | details |
140 passed, 10 ok, 4 known unimplemented, 5 known bugs, 3 failed, 0 skipped
| dash | 1 echo -en stdout: -en abc defstderr: |
| osh | 1 echo -en [osh stdout] Expected u'abc\ndef\n', got 'abc\\ndef\\n' stdout: abc\ndef\nstderr: osh warning: *** echo -e not implemented *** |
| osh_ALT | 1 echo -en [osh_ALT stdout] Expected u'abc\ndef\n', got 'abc\\ndef\\n' stdout: abc\ndef\nstderr: osh warning: *** echo -e not implemented *** |
| dash | 2 echo -ez (invalid flag) stdout: -ez abcstderr: |
| mksh | 2 echo -ez (invalid flag) stdout: -ez abcstderr: |
| dash | 9 cd to nonexistent dir stdout: status=2stderr: /bin/dash: 1: cd: can't cd to /nonexistent/dir |
| mksh | 9 cd to nonexistent dir stdout: status=2stderr: /bin/mksh: <stdin>[1]: cd: /nonexistent/dir: No such file or directory |
| dash | 10 pushd/popd stdout: stderr: /bin/dash: 3: pushd: not found |
| mksh | 10 pushd/popd stdout: stderr: /bin/mksh: <stdin>[3]: pushd: not found |
| dash | 13 Source nonexistent stdout: status=127stderr: /bin/dash: 1: source: not found |
| dash | 14 Source with no arguments stdout: status=127stderr: /bin/dash: 1: source: not found |
| bash | 14 Source with no arguments stdout: status=2stderr: /bin/bash: line 1: source: filename argument required source: usage: source filename [arguments] |
| dash | 16 Exit builtin with invalid arg stdout: stderr: /bin/dash: 1: exit: Illegal number: invalid |
| bash | 16 Exit builtin with invalid arg stdout: stderr: /bin/bash: line 1: exit: invalid: numeric argument required |
| dash | 17 Exit builtin with too many args stdout: stderr: |
| mksh | 17 Exit builtin with too many args stdout: stderr: /bin/mksh: <stdin>[1]: exit: too many arguments |
| dash | 18 time block stdout: stderr: time: cannot run {: No such file or directory
Command exited with non-zero status 127
0.00user 0.00system 0:00.00elapsed ?%CPU (0avgtext+0avgdata 1256maxresident)k
0inputs+0outputs (0major+29minor)pagefaults 0swaps
/bin/dash: 7: Syntax error: "}" unexpected
|
| dash | 21 Shifting too far stdout: stderr: /bin/dash: 2: shift: can't shift that many |
| dash | 22 Invalid shift argument stdout: stderr: /bin/dash: 1: shift: Illegal number: ZZZ |
| mksh | 22 Invalid shift argument stdout: stderr: |
| dash | 28 Read -n (with $REPLY) stdout: []stderr: /bin/dash: 2: read: Illegal option -n /bin/dash: 3: read: Illegal option -n |
| osh | 29 read -r ignores backslashes [osh stdout] Expected "['one two', 'one\\\\ two']\n", got "['one\\\\ two', 'one\\\\ two']\n" stdout: ['one\\ two', 'one\\ two']stderr: osh warning: *** read without -r not implemented *** |
| osh_ALT | 29 read -r ignores backslashes [osh_ALT stdout] Expected "['one two', 'one\\\\ two']\n", got "['one\\\\ two', 'one\\\\ two']\n" stdout: ['one\\ two', 'one\\ two']stderr: osh warning: *** read without -r not implemented *** |
| osh | 32 set umask symbolically [osh stdout] Expected u'664\n644\n', got '664\n664\n' [osh stderr] Expected u'', got 'osh warning: *** umask with symbolic input not implemented ***\n' stdout: 664 664stderr: osh warning: *** umask with symbolic input not implemented *** |
| osh_ALT | 32 set umask symbolically [osh_ALT stdout] Expected u'664\n644\n', got '664\n664\n' [osh_ALT stderr] Expected u'', got 'osh warning: *** umask with symbolic input not implemented ***\n' stdout: 664 664stderr: osh warning: *** umask with symbolic input not implemented *** |