spec test index / oilshell.org
| status | dash | bash | mksh | zsh | ash | osh | |
| pass | 3 | 8 | 5 | 6 | 3 | 8 | |
| ok | 5 | 0 | 4 | 3 | 5 | 0 | |
| N-I | 1 | 0 | 0 | 0 | 1 | 0 | |
| BUG | 0 | 1 | 0 | 0 | 0 | 0 | |
| FAIL | 0 | 0 | 0 | 0 | 0 | 1 | |
| total | 9 | 9 | 9 | 9 | 9 | 9 | |
| case | dash | bash | mksh | zsh | ash | osh | description |
| 0 | pass | pass | pass | pass | pass | pass | echo keyword |
| 1 | pass | pass | pass | pass | pass | pass | if/else |
| 2 | N-I | pass | pass | pass | N-I | pass | Turn an array into an integer. |
| details | details | ||||||
| 3 | ok | pass | ok | pass | ok | pass | assign readonly -- one line |
| details | details | details | |||||
| 4 | ok | BUG | ok | pass | ok | pass | assign readonly -- multiple lines |
| details | details | details | details | ||||
| 5 | ok | pass | ok | pass | ok | pass | assign readonly -- multiple lines -- set -o posix |
| details | details | details | |||||
| 6 | ok | pass | pass | ok | ok | pass | unset readonly -- one line |
| details | details | details | |||||
| 7 | ok | pass | pass | ok | ok | pass | unset readonly -- multiple lines |
| details | details | details | |||||
| 8 | pass | pass | ok | ok | pass | FAIL | Function name like foo$x() (regression) |
| details | details | details |
33 passed, 17 OK, 2 not implemented, 1 BUG, 1 failed, 0 timeouts, 0 cases skipped 1 failed under osh
| dash | 2 Turn an array into an integer. stdout: stderr: dash: 1: Syntax error: "(" unexpected
|
| ash | 2 Turn an array into an integer. stdout: stderr: ash: syntax error: unexpected "("
|
| dash | 3 assign readonly -- one line stdout: stderr: dash: 1: x: is read only |
| mksh | 3 assign readonly -- one line stdout: stderr: mksh: <stdin>[1]: read-only: x |
| ash | 3 assign readonly -- one line stdout: stderr: ash: x: is read only |
| dash | 4 assign readonly -- multiple lines stdout: stderr: dash: 2: x: is read only |
| bash | 4 assign readonly -- multiple lines stdout: histderr: bash: line 2: x: readonly variable |
| mksh | 4 assign readonly -- multiple lines stdout: stderr: mksh: <stdin>[2]: read-only: x |
| ash | 4 assign readonly -- multiple lines stdout: stderr: ash: x: is read only |
| dash | 5 assign readonly -- multiple lines -- set -o posix stdout: stderr: dash: 1: set: Illegal option -o posix |
| mksh | 5 assign readonly -- multiple lines -- set -o posix stdout: stderr: mksh: <stdin>[3]: read-only: x |
| ash | 5 assign readonly -- multiple lines -- set -o posix stdout: stderr: ash: set: line 1: illegal option -o posix ash: x: is read only |
| dash | 6 unset readonly -- one line stdout: stderr: dash: 1: unset: x: is read only |
| zsh | 6 unset readonly -- one line stdout: stderr: zsh: read-only variable: x |
| ash | 6 unset readonly -- one line stdout: stderr: ash: unset: line 1: x: is read only |
| dash | 7 unset readonly -- multiple lines stdout: stderr: dash: 2: unset: x: is read only |
| zsh | 7 unset readonly -- multiple lines stdout: stderr: zsh: read-only variable: x |
| ash | 7 unset readonly -- multiple lines stdout: stderr: ash: unset: line 2: x: is read only |
| mksh | 8 Function name like foo$x() (regression) stdout: stderr: mksh: <stdin>[1]: foo$x: invalid function name |
| zsh | 8 Function name like foo$x() (regression) stdout: stderr: zsh: parse error near `\n' |
| osh | 8 Function name like foo$x() (regression) [osh status] Expected 2, got 1 [osh stderr] Found 'Traceback (most recent' stdout: stderr: Traceback (most recent call last):
File "/home/travis/build/oilshell/oil/bin/oil.py", line 358, in <module>
sys.exit(main(sys.argv))
File "/home/travis/build/oilshell/oil/bin/oil.py", line 301, in main
return AppBundleMain(argv)
File "/home/travis/build/oilshell/oil/bin/oil.py", line 261, in AppBundleMain
loader, line_input)
File "/home/travis/build/oilshell/oil/core/shell.py", line 675, in Main
cmd_flags=cmd_eval.IsMainProgram)
File "/home/travis/build/oilshell/oil/core/main_loop.py", line 309, in Batch
node = c_parser.ParseLogicalLine() # can raise ParseError
File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 2221, in ParseLogicalLine
node = self._ParseCommandLine()
File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 2083, in _ParseCommandLine
child = self.ParseAndOr()
File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 2002, in ParseAndOr
return self._ParseAndOr()
File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 2013, in _ParseAndOr
child = self.ParsePipeline()
File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 1945, in ParsePipeline
child = self.ParseCommand()
File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 1919, in ParseCommand
return self.ParseSimpleCommand()
File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 998, in ParseSimpleCommand
expanded_node = self._MaybeExpandAliases(suffix_words)
File "/home/travis/build/oilshell/oil/osh/cmd_parse.py", line 757, in _MaybeExpandAliases
ok, word_str, quoted = word_.StaticEval(w)
File "/home/travis/build/oilshell/oil/osh/word_.py", line 128, in StaticEval
ok, s, q = _EvalWordPart(part)
File "/home/travis/build/oilshell/oil/osh/word_.py", line 112, in _EvalWordPart
raise AssertionError(part.tag_())
AssertionError: 16
|