spec test index / oilshell.org
status | osh | osh_.py | osh_.cc | |
pass | 9 | 8 | 0 | |
FAIL | 3 | 4 | 12 | |
total | 12 | 12 | 12 | |
case | osh | osh_.py | osh_.cc | description |
0 | FAIL | FAIL | FAIL | set -o verbose prints unevaluated code |
details | details | details | ||
1 | pass | pass | FAIL | xtrace with unprintable chars |
details | ||||
2 | pass | pass | FAIL | xtrace with unicode chars |
details | ||||
3 | pass | pass | FAIL | xtrace with tabs |
details | ||||
4 | pass | pass | FAIL | xtrace with whitespace, quotes, and backslash |
details | ||||
5 | pass | pass | FAIL | xtrace with newlines |
details | ||||
6 | pass | FAIL | FAIL | xtrace written before command executes |
details | details | |||
7 | FAIL | FAIL | FAIL | PS4 is scoped |
details | details | details | ||
8 | FAIL | FAIL | FAIL | xtrace with variables in PS4 |
details | details | details | ||
9 | pass | pass | FAIL | PS4 with unterminated ${ |
details | ||||
10 | pass | pass | FAIL | PS4 with unterminated $( |
details | ||||
11 | pass | pass | FAIL | PS4 with runtime error |
details |
17 passed, 0 OK, 0 not implemented, 0 BUG, 19 failed, 0 timeouts, 0 cases skipped 3 failed under osh
osh | 0 set -o verbose prints unevaluated code [osh stderr] Expected 'x=foo\ny=bar\necho $x\necho $(echo $y)\n', got 'Warning: set -o verbose not implemented\n' stdout: foo barstderr: Warning: set -o verbose not implemented |
osh_.py | 0 set -o verbose prints unevaluated code [osh_.py stdout] Expected 'foo\nbar\n', got 'foo\n' [osh_.py stderr] Expected 'x=foo\ny=bar\necho $x\necho $(echo $y)\n', got 'Warning: set -o verbose not implemented\nTraceback (most recent call last):\n File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 417, in <module>\n status = main(sys.argv)\n File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 309, in main\n cmd_flags=cmd_eval.IsMainProgram)\n File "/home/andy/git/oilshell/oil/core/main_loop.py", line 168, in Batch\n is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags)\n File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1461, in ExecuteAndCatch\n status = self._Execute(node)\n File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute\n status, check_errexit = self._Dispatch(node)\n File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 547, in _Dispatch\n cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True)\n File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1868, in EvalWordSequence2\n self._EvalWordToParts(w, False, part_vals) # not double quoted\n File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1455, in _EvalWordToParts\n self._EvalWordPart(p, part_vals, quoted=quoted, is_subst=is_subst)\n File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1332, in _EvalWordPart\n sv = self._EvalCommandSub(part.child, quoted) # type: part_value_t\n File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1959, in _EvalCommandSub\n stdout = self.shell_ex.RunCommandSub(node)\nAttributeError: \'NoneType\' object has no attribute \'RunCommandSub\'\n' [osh_.py status] Expected 0, got 1 [osh_.py stderr] Found 'Traceback (most recent' stdout: foostderr: Warning: set -o verbose not implemented Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 417, in <module> status = main(sys.argv) File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 309, in main cmd_flags=cmd_eval.IsMainProgram) File "/home/andy/git/oilshell/oil/core/main_loop.py", line 168, in Batch is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1461, in ExecuteAndCatch status = self._Execute(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute status, check_errexit = self._Dispatch(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 547, in _Dispatch cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1868, in EvalWordSequence2 self._EvalWordToParts(w, False, part_vals) # not double quoted File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1455, in _EvalWordToParts self._EvalWordPart(p, part_vals, quoted=quoted, is_subst=is_subst) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1332, in _EvalWordPart sv = self._EvalCommandSub(part.child, quoted) # type: part_value_t File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1959, in _EvalCommandSub stdout = self.shell_ex.RunCommandSub(node) AttributeError: 'NoneType' object has no attribute 'RunCommandSub' |
osh_.cc | 0 set -o verbose prints unevaluated code [osh_.cc stdout] Expected 'foo\nbar\n', got 'foo\n\n' [osh_.cc stderr] Expected 'x=foo\ny=bar\necho $x\necho $(echo $y)\n', got 'Warning: set -o verbose not implemented\n' stdout: foostderr: Warning: set -o verbose not implemented |
osh_.cc | 1 xtrace with unprintable chars [osh_.cc stdout] Expected 'a\x03b\x04c\x00d\n', got '' [osh_.cc stderr] Expected "+ echo $'a\\x03b\\x04c\\x00d'\n", got "osh_eval.dbg: mycpp/mylib.h:596: V Dict<Str *, syntax_asdl::compound_word *>::index(K) [K = Str *, V = syntax_asdl::compound_word *]: Assertion `0' failed.\n" [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.dbg: mycpp/mylib.h:596: V Dict<Str *, syntax_asdl::compound_word *>::index(K) [K = Str *, V = syntax_asdl::compound_word *]: Assertion `0' failed. |
osh_.cc | 2 xtrace with unicode chars [osh_.cc stdout] Expected '[\xce\xbc] [\xce\xbc]\n', got '' [osh_.cc stderr] Expected "+ echo '[\xce\xbc]' '[\xce\xbc]'\n", got "osh_eval.dbg: mycpp/mylib.h:491: void List<int>::reverse() [T = int]: Assertion `0' failed.\n" [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.dbg: mycpp/mylib.h:491: void List<int>::reverse() [T = int]: Assertion `0' failed. |
osh_.cc | 3 xtrace with tabs [osh_.cc stdout] Expected u'[\t]\n', got '' [osh_.cc stderr] Expected "+ echo $'[\\t]'\n", got "osh_eval.dbg: mycpp/mylib.h:596: V Dict<Str *, syntax_asdl::compound_word *>::index(K) [K = Str *, V = syntax_asdl::compound_word *]: Assertion `0' failed.\n" [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.dbg: mycpp/mylib.h:596: V Dict<Str *, syntax_asdl::compound_word *>::index(K) [K = Str *, V = syntax_asdl::compound_word *]: Assertion `0' failed. |
osh_.cc | 4 xtrace with whitespace, quotes, and backslash [osh_.cc stdout] Expected '1 2 \' " \\\n', got '' [osh_.cc stderr] Expected '+ echo \'1 2\' $\'\\\'\' \'"\' $\'\\\\\'\n', got "osh_eval.dbg: mycpp/mylib.h:596: V Dict<Str *, syntax_asdl::compound_word *>::index(K) [K = Str *, V = syntax_asdl::compound_word *]: Assertion `0' failed.\n" [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.dbg: mycpp/mylib.h:596: V Dict<Str *, syntax_asdl::compound_word *>::index(K) [K = Str *, V = syntax_asdl::compound_word *]: Assertion `0' failed. |
osh_.cc | 5 xtrace with newlines [osh_.cc stderr] Expected "+ echo $'[\\n]'\n", got 'set 2\n' stdout: [ ]stderr: set 2 |
osh_.py | 6 xtrace written before command executes [osh_.py stdout] Expected u'', got 'one\ntwo\n' [osh_.py stderr] Expected '+ echo one\none\n+ echo two\ntwo\n', got '+ echo one\n+ echo two\n' stdout: one twostderr: + echo one + echo two |
osh_.cc | 6 xtrace written before command executes [osh_.cc stdout] Expected u'', got 'one\ntwo\n' [osh_.cc stderr] Expected '+ echo one\none\n+ echo two\ntwo\n', got 'set 2\n' stdout: one twostderr: set 2 |
osh | 7 PS4 is scoped [osh stderr] Expected '+ echo one\n+ f\n- echo func\n+ echo two\n', got "+ echo one\n+ f\n+ 'TODO: trace string for assignment'\n- echo func\n+ echo two\n" stdout: one func twostderr: + echo one + f + 'TODO: trace string for assignment' - echo func + echo two |
osh_.py | 7 PS4 is scoped [osh_.py stderr] Expected '+ echo one\n+ f\n- echo func\n+ echo two\n', got "+ echo one\n+ f\n+ 'TODO: trace string for assignment'\n- echo func\n+ echo two\n" stdout: one func twostderr: + echo one + f + 'TODO: trace string for assignment' - echo func + echo two |
osh_.cc | 7 PS4 is scoped [osh_.cc stderr] Expected '+ echo one\n+ f\n- echo func\n+ echo two\n', got 'set 2\n' stdout: one func twostderr: set 2 |
osh | 8 xtrace with variables in PS4 [osh stderr] Expected '+1:echo one\n+2:echo two\n', got '+1:(lvalue.Named name:x spids:[11]) = (value.Str s:1)\n+1:echo one\n+2:(lvalue.Named name:x spids:[21]) = (value.Str s:2)\n+2:echo two\n' stdout: one twostderr: +1:(lvalue.Named name:x spids:[11]) = (value.Str s:1) +1:echo one +2:(lvalue.Named name:x spids:[21]) = (value.Str s:2) +2:echo two |
osh_.py | 8 xtrace with variables in PS4 [osh_.py stderr] Expected '+1:echo one\n+2:echo two\n', got '+1:(lvalue.Named name:x spids:[11]) = (value.Str s:1)\n+1:echo one\n+2:(lvalue.Named name:x spids:[21]) = (value.Str s:2)\n+2:echo two\n' stdout: one twostderr: +1:(lvalue.Named name:x spids:[11]) = (value.Str s:1) +1:echo one +2:(lvalue.Named name:x spids:[21]) = (value.Str s:2) +2:echo two |
osh_.cc | 8 xtrace with variables in PS4 [osh_.cc stderr] Expected '+1:echo one\n+2:echo two\n', got "osh_eval.dbg: mycpp/mylib.h:596: V Dict<Str *, syntax_asdl::compound_word *>::index(K) [K = Str *, V = syntax_asdl::compound_word *]: Assertion `0' failed.\n" [osh_.cc stdout] Expected 'one\ntwo\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.dbg: mycpp/mylib.h:596: V Dict<Str *, syntax_asdl::compound_word *>::index(K) [K = Str *, V = syntax_asdl::compound_word *]: Assertion `0' failed. |
osh_.cc | 9 PS4 with unterminated ${ [osh_.cc stdout] Expected 'one\nstatus=0\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.dbg: mycpp/mylib.h:596: V Dict<Str *, syntax_asdl::compound_word *>::index(K) [K = Str *, V = syntax_asdl::compound_word *]: Assertion `0' failed. |
osh_.cc | 10 PS4 with unterminated $( [osh_.cc stdout] Expected 'one\nstatus=0\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.dbg: mycpp/mylib.h:596: V Dict<Str *, syntax_asdl::compound_word *>::index(K) [K = Str *, V = syntax_asdl::compound_word *]: Assertion `0' failed. |
osh_.cc | 11 PS4 with runtime error [osh_.cc stdout] Expected 'one\nstatus=0\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.dbg: mycpp/mylib.h:596: V Dict<Str *, syntax_asdl::compound_word *>::index(K) [K = Str *, V = syntax_asdl::compound_word *]: Assertion `0' failed. |