spec test index / oilshell.org
161 passed, 15 ok, 8 known unimplemented, 1 known bugs, 5 failed, 0 skipped
dash | 3 Nonexistent file stdout: status=2stderr: _tmp/spec-bin/dash: 1: cannot open /home/andy/git/oilshell/oil/_tmp/spec-tmp/redirect.test.sh/nonexistent.txt: No such file |
dash | 5 Redirect in assignment is invalid stdout: stderr: |
bash | 5 Redirect in assignment is invalid stdout: stderr: |
mksh | 5 Redirect in assignment is invalid stdout: stderr: |
dash | 6 Redirect in assignment stdout: FILE= foo FOO=stderr: |
bash | 6 Redirect in assignment stdout: FILE= FOO=stderr: foo |
mksh | 6 Redirect in assignment stdout: FILE= foo FOO=stderr: |
dash | 8 Bad redirects in function body stdout: status=2stderr: _tmp/spec-bin/dash: 2: cannot create : Directory nonexistent |
dash | 9 Redirect in function body is evaluated multiple times stdout: stderr: _tmp/spec-bin/dash: 2: arithmetic expression: expecting primary: "i++" |
dash | 14 Descriptor redirect with filename stdout: stderr: _tmp/spec-bin/dash: 2: Syntax error: Bad fd number |
bash | 14 Descriptor redirect with filename stdout: status=0stderr: |
mksh | 17 Prefix redirect for loop -- not allowed stdout: stderr: _tmp/spec-bin/mksh: <stdin>[1]: for: not found _tmp/spec-bin/mksh: <stdin>[2]: syntax error: 'do' unexpected |
dash | 22 Named file descriptor stdout: stderr: _tmp/spec-bin/dash: 1: exec: {myfd}: not found |
mksh | 22 Named file descriptor stdout: stderr: _tmp/spec-bin/mksh: <stdin>[1]: {myfd}: not found |
osh | 22 Named file descriptor [osh stdout] Expected 'named-fd-contents\n', got '' [osh status] Expected 0, got 127 stdout: stderr: exec {myfd}> $TMP/named-fd.txt ^ [ stdin ]:1: Can't execute '{myfd}': No such file or directory |
osh_ALT | 22 Named file descriptor [osh_ALT stdout] Expected 'named-fd-contents\n', got '' [osh_ALT status] Expected 0, got 127 stdout: stderr: exec {myfd}> $TMP/named-fd.txt ^ [ stdin ]:1: Can't execute '{myfd}': No such file or directory |
dash | 25 Redirect to empty string stdout: result=2stderr: _tmp/spec-bin/dash: 2: cannot create : Directory nonexistent _tmp/spec-bin/dash: 5: cannot create : Directory nonexistent |
dash | 26 Redirect to file descriptor that's not open stdout: stderr: _tmp/spec-bin/dash: 1: 9: Bad file descriptor |
dash | 29 >| to clobber stdout: status=2 XX ZZstderr: _tmp/spec-bin/dash: 3: cannot create /home/andy/git/oilshell/oil/_tmp/spec-tmp/redirect.test.sh/c.txt: File exists |
osh | 29 >| to clobber [osh stdout] Expected u'status=1\nXX\nZZ\n', got 'status=0\nYY\nZZ\n' stdout: status=0 YY ZZstderr: |
osh_ALT | 29 >| to clobber [osh_ALT stdout] Expected u'status=1\nXX\nZZ\n', got 'status=0\nYY\nZZ\n' stdout: status=0 YY ZZstderr: |
dash | 30 &> redirects stdout and stderr stdout: STDOUTstderr: STDERR |
dash | 31 1>&2- to close file descriptor stdout: stderr: _tmp/spec-bin/dash: 2: Syntax error: Bad fd number |
mksh | 31 1>&2- to close file descriptor stdout: stderr: _tmp/spec-bin/mksh: <stdin>[1]: >&2- : illegal file descriptor name |
osh | 31 1>&2- to close file descriptor [osh status] Expected 0, got 1 stdout: stderr: echo hi 1>&2- ^~ [ stdin ]:1: Redirect descriptor should look like an integer, got (value.Str s:2-) |
osh_ALT | 31 1>&2- to close file descriptor [osh_ALT status] Expected 0, got 1 stdout: stderr: echo hi 1>&2- ^~ [ stdin ]:1: Redirect descriptor should look like an integer, got (value.Str s:2-) |
osh | 32 <> for read/write [osh stdout] Expected u'line=first\nCONTENTS\nfirst\nsecond\n', got '' [osh status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/oil.py", line 865, in <module> main(sys.argv) File "/home/andy/git/oilshell/oil/bin/oil.py", line 833, in main sys.exit(AppBundleMain(argv)) File "/home/andy/git/oilshell/oil/bin/oil.py", line 803, in AppBundleMain status = ShellMain('osh', argv0, main_argv, login_shell) File "/home/andy/git/oilshell/oil/bin/oil.py", line 616, in ShellMain status = main_loop.Batch(ex, c_parser, arena, nodes_out=nodes_out) File "/home/andy/git/oilshell/oil/core/main_loop.py", line 162, in Batch is_control_flow, is_fatal = ex.ExecuteAndCatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1195, in ExecuteAndCatch status = self._Execute(node, fork_external=fork_external) File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1133, in _Execute if self.fd_state.Push(redirects, self.waiter): File "/home/andy/git/oilshell/oil/core/process.py", line 333, in Push if not self._ApplyRedirect(r, waiter): File "/home/andy/git/oilshell/oil/core/process.py", line 235, in _ApplyRedirect raise NotImplementedError(r.op_id) NotImplementedError: <Id_t Redir_LessGreat 62> |
osh_ALT | 32 <> for read/write [osh_ALT stdout] Expected u'line=first\nCONTENTS\nfirst\nsecond\n', got '' [osh_ALT status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/oil.py", line 852, in _cpython_main_hook main(sys.argv) File "/home/andy/git/oilshell/oil/bin/oil.py", line 833, in main sys.exit(AppBundleMain(argv)) File "/home/andy/git/oilshell/oil/bin/oil.py", line 803, in AppBundleMain status = ShellMain('osh', argv0, main_argv, login_shell) File "/home/andy/git/oilshell/oil/bin/oil.py", line 616, in ShellMain status = main_loop.Batch(ex, c_parser, arena, nodes_out=nodes_out) File "/home/andy/git/oilshell/oil/core/main_loop.py", line 168, in Batch return status File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1195, in ExecuteAndCatch status = self._Execute(node, fork_external=fork_external) File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1133, in _Execute if self.fd_state.Push(redirects, self.waiter): File "/home/andy/git/oilshell/oil/core/process.py", line 333, in Push if not self._ApplyRedirect(r, waiter): File "/home/andy/git/oilshell/oil/core/process.py", line 319, in _ApplyRedirect posix.close(write_fd) NotImplementedError: <Id_t Redir_LessGreat 62> FATAL: couldn't import from app bundle '_tmp/oil-tar-test/oil-0.6.0/_bin/osh' (1) Stripping the oil.ovm binary may cause this error. See https://github.com/oilshell/oil/issues/47 |
dash | 33 &>> appends stdout and stderr stdout: stderr: |
dash | 36 $(< $file) yields the contents of the file stdout: stderr: |
osh | 36 $(< $file) yields the contents of the file [osh stdout] Expected 'FOO\n', got '\n' stdout: stderr: |
osh_ALT | 36 $(< $file) yields the contents of the file [osh_ALT stdout] Expected 'FOO\n', got '\n' stdout: stderr: |
dash | 38 2&>1 (is it a redirect or is it like a&>1) stdout: status=0stderr: _tmp/spec-bin/dash: 2: 2: not found |
mksh | 38 2&>1 (is it a redirect or is it like a&>1) stdout: status=0stderr: |