spec test index / oilshell.org
status | dash | bash | mksh | zsh | osh | |
pass | 3 | 3 | 3 | 3 | 6 | |
ok | 2 | 4 | 2 | 1 | 0 | |
N-I | 2 | 0 | 0 | 1 | 0 | |
BUG | 0 | 0 | 2 | 2 | 0 | |
FAIL | 0 | 0 | 0 | 0 | 1 | |
total | 7 | 7 | 7 | 7 | 7 | |
case | dash | bash | mksh | zsh | osh | description |
0 | N-I | ok | BUG | BUG | FAIL | history builtin usage |
details | details | details | details | details | ||
1 | ok | ok | ok | ok | pass | Print shell strings with weird chars: set and printf %q and ${x@Q} |
details | details | details | details | |||
2 | N-I | ok | ok | N-I | pass | Print shell strings with normal chars: set and printf %q and ${x@Q} |
details | details | details | details | |||
3 | pass | pass | pass | pass | pass | time pipeline |
4 | pass | pass | pass | pass | pass | shift |
5 | ok | pass | pass | pass | pass | Shifting too far |
details | ||||||
6 | pass | ok | BUG | BUG | pass | Invalid shift argument |
details | details | details |
18 passed, 9 OK, 3 not implemented, 4 BUG, 1 failed, 0 timeouts, 0 cases skipped 1 failed under osh
dash | 0 history builtin usage stdout: status=127 status=127 status=127 status=127 status=127stderr: dash: 1: history: not found dash: 3: history: not found dash: 5: history: not found dash: 7: history: not found dash: 9: history: not found |
bash | 0 history builtin usage stdout: status=0 status=0 status=2 status=1 status=1stderr: bash: line 5: history: -5: invalid option history: usage: history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...] bash: line 7: history: f: numeric argument required bash: line 9: history: too: numeric argument required |
mksh | 0 history builtin usage stdout: status=1 status=1 status=1 status=1 status=1stderr: mksh: fc: history functions not available mksh: <stdin>[3]: fc: history functions not available mksh: <stdin>[5]: fc: history functions not available mksh: <stdin>[7]: fc: history functions not available mksh: <stdin>[9]: fc: history functions not available |
zsh | 0 history builtin usage stdout: status=1 status=1 status=1 status=1 status=1stderr: fc: no such event: 1 fc: no such event: 5 fc: no such event: 0 fc: event not found: f fc: event not found: too |
osh | 0 history builtin usage [osh stdout] Expected 'status=0\nstatus=0\nstatus=2\nstatus=2\nstatus=2\n' Got 'status=0\nstatus=0\nstatus=2\n' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: status=0 status=0 status=2stderr: history -5 # invalid flag ^~ [ stdin ]:5: 'history' doesn't accept flag -5 Traceback (most recent call last): File "/home/uke/oil/bin/oils_for_unix.py", line 201, in <module> sys.exit(main(sys.argv)) File "/home/uke/oil/bin/oils_for_unix.py", line 170, in main return AppBundleMain(argv) File "/home/uke/oil/bin/oils_for_unix.py", line 140, in AppBundleMain return shell.Main('osh', arg_r, environ, login_shell, loader, readline) File "/home/uke/oil/core/shell.py", line 1218, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 365, in Batch is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2045, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 1844, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1579, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 868, in _DoSimple status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags) File "/home/uke/oil/osh/cmd_eval.py", line 545, in _RunSimpleCommand run_flags) File "/home/uke/oil/core/executor.py", line 343, in RunSimpleCommand return self.RunBuiltin(builtin_id, cmd_val) File "/home/uke/oil/core/executor.py", line 204, in RunBuiltin return self.RunBuiltinProc(builtin_proc, cmd_val) File "/home/uke/oil/core/executor.py", line 214, in RunBuiltinProc status = builtin_proc.Run(cmd_val) File "/home/uke/oil/builtin/readline_osh.py", line 215, in Run e_usage('got invalid argument %r' % num_arg, num_arg_loc) NameError: global name 'e_usage' is not defined |
dash | 1 Print shell strings with weird chars: set and printf %q and ${x@Q} stdout: stderr: |
bash | 1 Print shell strings with weird chars: set and printf %q and ${x@Q} stdout: foo=$'a\nb\001c\'d' pf $'a\nb\001c\'d' @Q $'a\nb\001c\'d'stderr: |
mksh | 1 Print shell strings with weird chars: set and printf %q and ${x@Q} stdout: stderr: |
zsh | 1 Print shell strings with weird chars: set and printf %q and ${x@Q} stdout: stderr: |
dash | 2 Print shell strings with normal chars: set and printf %q and ${x@Q} stdout: stderr: |
bash | 2 Print shell strings with normal chars: set and printf %q and ${x@Q} stdout: foo=spam declare -- foo="spam" pf spam @Q 'spam'stderr: |
mksh | 2 Print shell strings with normal chars: set and printf %q and ${x@Q} stdout: foo=spam typeset foo=spam pf spam @Q spamstderr: |
zsh | 2 Print shell strings with normal chars: set and printf %q and ${x@Q} stdout: stderr: |
dash | 5 Shifting too far stdout: stderr: dash: 2: shift: can't shift that many |
bash | 6 Invalid shift argument stdout: stderr: bash: line 1: shift: ZZZ: numeric argument required |
mksh | 6 Invalid shift argument stdout: stderr: |
zsh | 6 Invalid shift argument stdout: stderr: |