Results for ysh-xtrace.test.sh

statusosh
FAIL 20
total20
caseoshdescription
0FAIL Customize PS4
details
1FAIL no_xtrace_osh doesn't show [[ ]] etc.
details
2FAIL no_xtrace_osh UNSET, and xtrace_rich set
details
3FAIL proc and shell function
details
4FAIL eval
details
5FAIL source
details
6FAIL external and builtin
details
7FAIL subshell
details
8FAIL command sub
details
9FAIL process sub (nondeterministic)
details
10FAIL pipeline (nondeterministic)
details
11FAIL singleton pipeline
details
12FAIL Background pipeline (separate code path)
details
13FAIL Background process with fork and & (nondeterministic)
details
14FAIL Here doc
details
15FAIL Two here docs
details
16FAIL Here doc greater than 4096 bytes
details
17FAIL Control Flow
details
18FAIL use builtin and invokable module
details
19FAIL Encoded argv uses shell encoding, not J8
details
0 passed, 0 OK, 0 not implemented, 0 BUG, 20 failed, 0 timeouts, 0 cases skipped
20 failed under osh

Details on runs that didn't PASS

osh0 Customize PS4

[osh stdout] Expected '1\n2\n3\n' Got ''
[osh stderr] Expected '5 . builtin echo 1\n5 . builtin echo 2\n6 . builtin echo 3\n' Got 'Traceback (most recent call last):\n File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>\n sys.exit(main(sys.argv))\n File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main\n return AppBundleMain(argv)\n File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain\n bash_compat=(applet == \'bash\'))\n File "/home/uke/oil/core/shell.py", line 1296, in Main\n cmd_flags=cmd_eval.IsMainProgram)\n File "/home/uke/oil/core/main_loop.py", line 336, in Batch\n was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)\n File "/home/uke/oil/core/main_loop.py", line 401, in Batch2\n is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch\n status = self._Execute(node)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 2002, in _Dispatch\n status = self._ExecuteList(node.children)\n File "/home/uke/oil/osh/cmd_eval.py", line 2241, in _ExecuteList\n status = self._Execute(child)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1909, in _Dispatch\n status = self._Execute(node.child)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch\n status = self._DoSimple(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple\n status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/executor.py", line 577, in _RunSimpleCommand\n return self.RunBuiltin(builtin_id, cmd_val)\n File "/home/uke/oil/core/vm.py", line 264, in RunBuiltin\n self.tracer.OnBuiltin(builtin_id, cmd_val.argv)\n File "/home/uke/oil/core/dev.py", line 643, in OnBuiltin\n buf = self._RichTraceBegin(\'.\')\n File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin\n prefix = self._EvalPS4(punct)\n File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4\n ps4_word = w_parser.ReadForPlugin()\n File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin\n self._ReadLikeDQ(None, False, w.parts)\n File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ\n elif self.token_type == Id.Lit_EscapedDoubleQuote:\nAttributeError: type object \'Id\' has no attribute \'Lit_EscapedDoubleQuote\'\n'
[osh status] Expected 0 Got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain
    bash_compat=(applet == 'bash'))
  File "/home/uke/oil/core/shell.py", line 1296, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 2002, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/uke/oil/osh/cmd_eval.py", line 2241, in _ExecuteList
    status = self._Execute(child)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1909, in _Dispatch
    status = self._Execute(node.child)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/executor.py", line 577, in _RunSimpleCommand
    return self.RunBuiltin(builtin_id, cmd_val)
  File "/home/uke/oil/core/vm.py", line 264, in RunBuiltin
    self.tracer.OnBuiltin(builtin_id, cmd_val.argv)
  File "/home/uke/oil/core/dev.py", line 643, in OnBuiltin
    buf = self._RichTraceBegin('.')
  File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin
    prefix = self._EvalPS4(punct)
  File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4
    ps4_word = w_parser.ReadForPlugin()
  File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin
    self._ReadLikeDQ(None, False, w.parts)
  File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ
    elif self.token_type == Id.Lit_EscapedDoubleQuote:
AttributeError: type object 'Id' has no attribute 'Lit_EscapedDoubleQuote'
osh1 no_xtrace_osh doesn't show [[ ]] etc.

[osh stderr] Expected '. builtin cd /\n' Got 'Traceback (most recent call last):\n File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>\n sys.exit(main(sys.argv))\n File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main\n return AppBundleMain(argv)\n File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain\n bash_compat=(applet == \'bash\'))\n File "/home/uke/oil/core/shell.py", line 1296, in Main\n cmd_flags=cmd_eval.IsMainProgram)\n File "/home/uke/oil/core/main_loop.py", line 336, in Batch\n was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)\n File "/home/uke/oil/core/main_loop.py", line 401, in Batch2\n is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch\n status = self._Execute(node)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch\n status = self._DoSimple(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple\n status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/executor.py", line 577, in _RunSimpleCommand\n return self.RunBuiltin(builtin_id, cmd_val)\n File "/home/uke/oil/core/vm.py", line 264, in RunBuiltin\n self.tracer.OnBuiltin(builtin_id, cmd_val.argv)\n File "/home/uke/oil/core/dev.py", line 643, in OnBuiltin\n buf = self._RichTraceBegin(\'.\')\n File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin\n prefix = self._EvalPS4(punct)\n File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4\n ps4_word = w_parser.ReadForPlugin()\n File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin\n self._ReadLikeDQ(None, False, w.parts)\n File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ\n elif self.token_type == Id.Lit_EscapedDoubleQuote:\nAttributeError: type object \'Id\' has no attribute \'Lit_EscapedDoubleQuote\'\n'
[osh status] Expected 0 Got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain
    bash_compat=(applet == 'bash'))
  File "/home/uke/oil/core/shell.py", line 1296, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/executor.py", line 577, in _RunSimpleCommand
    return self.RunBuiltin(builtin_id, cmd_val)
  File "/home/uke/oil/core/vm.py", line 264, in RunBuiltin
    self.tracer.OnBuiltin(builtin_id, cmd_val.argv)
  File "/home/uke/oil/core/dev.py", line 643, in OnBuiltin
    buf = self._RichTraceBegin('.')
  File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin
    prefix = self._EvalPS4(punct)
  File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4
    ps4_word = w_parser.ReadForPlugin()
  File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin
    self._ReadLikeDQ(None, False, w.parts)
  File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ
    elif self.token_type == Id.Lit_EscapedDoubleQuote:
AttributeError: type object 'Id' has no attribute 'Lit_EscapedDoubleQuote'
osh2 no_xtrace_osh UNSET, and xtrace_rich set

[osh stderr] Expected "| command 12345: env 'false'\n; process 12345: status 1\n. builtin set '+x'\n" Got 'Traceback (most recent call last):\n File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>\n sys.exit(main(sys.argv))\n File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main\n return AppBundleMain(argv)\n File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain\n bash_compat=(applet == \'bash\'))\n File "/home/uke/oil/core/shell.py", line 1296, in Main\n cmd_flags=cmd_eval.IsMainProgram)\n File "/home/uke/oil/core/main_loop.py", line 336, in Batch\n was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)\n File "/home/uke/oil/core/main_loop.py", line 401, in Batch2\n is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch\n status = self._Execute(node)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 2065, in _Dispatch\n status = self._DoRedirect(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1812, in _DoRedirect\n status = self._Execute(node.child)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 2010, in _Dispatch\n status = self._ExecuteList(node.children)\n File "/home/uke/oil/osh/cmd_eval.py", line 2241, in _ExecuteList\n status = self._Execute(child)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch\n status = self._DoSimple(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple\n status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 764, in _RunSimpleCommand\n self.tracer.OnSimpleCommand(cmd_val.argv)\n File "/home/uke/oil/core/dev.py", line 660, in OnSimpleCommand\n buf = self._ShTraceBegin()\n File "/home/uke/oil/core/dev.py", line 499, in _ShTraceBegin\n prefix = self._EvalPS4(\'+\')\n File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4\n ps4_word = w_parser.ReadForPlugin()\n File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin\n self._ReadLikeDQ(None, False, w.parts)\n File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ\n elif self.token_type == Id.Lit_EscapedDoubleQuote:\nAttributeError: type object \'Id\' has no attribute \'Lit_EscapedDoubleQuote\'\n'
[osh status] Expected 0 Got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain
    bash_compat=(applet == 'bash'))
  File "/home/uke/oil/core/shell.py", line 1296, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 2065, in _Dispatch
    status = self._DoRedirect(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1812, in _DoRedirect
    status = self._Execute(node.child)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 2010, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/uke/oil/osh/cmd_eval.py", line 2241, in _ExecuteList
    status = self._Execute(child)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 764, in _RunSimpleCommand
    self.tracer.OnSimpleCommand(cmd_val.argv)
  File "/home/uke/oil/core/dev.py", line 660, in OnSimpleCommand
    buf = self._ShTraceBegin()
  File "/home/uke/oil/core/dev.py", line 499, in _ShTraceBegin
    prefix = self._EvalPS4('+')
  File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4
    ps4_word = w_parser.ReadForPlugin()
  File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin
    self._ReadLikeDQ(None, False, w.parts)
  File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ
    elif self.token_type == Id.Lit_EscapedDoubleQuote:
AttributeError: type object 'Id' has no attribute 'Lit_EscapedDoubleQuote'
osh3 proc and shell function

[osh stderr] Expected "> proc shfunc 1\n . builtin ':' 1\n< proc shfunc\n> proc p 2\n . builtin ':' 2\n< proc p\n" Got 'Traceback (most recent call last):\n File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>\n sys.exit(main(sys.argv))\n File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main\n return AppBundleMain(argv)\n File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain\n bash_compat=(applet == \'bash\'))\n File "/home/uke/oil/core/shell.py", line 1296, in Main\n cmd_flags=cmd_eval.IsMainProgram)\n File "/home/uke/oil/core/main_loop.py", line 336, in Batch\n was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)\n File "/home/uke/oil/core/main_loop.py", line 401, in Batch2\n is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch\n status = self._Execute(node)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch\n status = self._DoSimple(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple\n status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/executor.py", line 551, in _RunSimpleCommand\n cmd_val)\n File "/home/uke/oil/core/vm.py", line 325, in _RunInvokable\n with dev.ctx_Tracer(self.tracer, \'proc\', cmd_val.argv):\n File "/home/uke/oil/core/dev.py", line 183, in __init__\n tracer.PushMessage(label, argv)\n File "/home/uke/oil/core/dev.py", line 584, in PushMessage\n buf = self._RichTraceBegin(\'>\')\n File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin\n prefix = self._EvalPS4(punct)\n File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4\n ps4_word = w_parser.ReadForPlugin()\n File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin\n self._ReadLikeDQ(None, False, w.parts)\n File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ\n elif self.token_type == Id.Lit_EscapedDoubleQuote:\nAttributeError: type object \'Id\' has no attribute \'Lit_EscapedDoubleQuote\'\n'
[osh status] Expected 0 Got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain
    bash_compat=(applet == 'bash'))
  File "/home/uke/oil/core/shell.py", line 1296, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/executor.py", line 551, in _RunSimpleCommand
    cmd_val)
  File "/home/uke/oil/core/vm.py", line 325, in _RunInvokable
    with dev.ctx_Tracer(self.tracer, 'proc', cmd_val.argv):
  File "/home/uke/oil/core/dev.py", line 183, in __init__
    tracer.PushMessage(label, argv)
  File "/home/uke/oil/core/dev.py", line 584, in PushMessage
    buf = self._RichTraceBegin('>')
  File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin
    prefix = self._EvalPS4(punct)
  File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4
    ps4_word = w_parser.ReadForPlugin()
  File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin
    self._ReadLikeDQ(None, False, w.parts)
  File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ
    elif self.token_type == Id.Lit_EscapedDoubleQuote:
AttributeError: type object 'Id' has no attribute 'Lit_EscapedDoubleQuote'
osh4 eval

[osh stdout] Expected '1\n2\n' Got ''
[osh stderr] Expected '> eval\n . builtin echo 1\n . builtin echo 2\n< eval\n' Got 'Traceback (most recent call last):\n File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>\n sys.exit(main(sys.argv))\n File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main\n return AppBundleMain(argv)\n File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain\n bash_compat=(applet == \'bash\'))\n File "/home/uke/oil/core/shell.py", line 1296, in Main\n cmd_flags=cmd_eval.IsMainProgram)\n File "/home/uke/oil/core/main_loop.py", line 336, in Batch\n was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)\n File "/home/uke/oil/core/main_loop.py", line 401, in Batch2\n is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch\n status = self._Execute(node)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch\n status = self._DoSimple(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple\n status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/executor.py", line 538, in _RunSimpleCommand\n status = self.RunBuiltin(builtin_id, cmd_val)\n File "/home/uke/oil/core/vm.py", line 266, in RunBuiltin\n return self._RunBuiltinProc(builtin_proc, cmd_val)\n File "/home/uke/oil/core/vm.py", line 276, in _RunBuiltinProc\n status = builtin_proc.Run(cmd_val)\n File "/home/uke/oil/builtin/meta_oils.py", line 92, in Run\n with dev.ctx_Tracer(self.tracer, \'eval\', None):\n File "/home/uke/oil/core/dev.py", line 183, in __init__\n tracer.PushMessage(label, argv)\n File "/home/uke/oil/core/dev.py", line 584, in PushMessage\n buf = self._RichTraceBegin(\'>\')\n File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin\n prefix = self._EvalPS4(punct)\n File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4\n ps4_word = w_parser.ReadForPlugin()\n File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin\n self._ReadLikeDQ(None, False, w.parts)\n File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ\n elif self.token_type == Id.Lit_EscapedDoubleQuote:\nAttributeError: type object \'Id\' has no attribute \'Lit_EscapedDoubleQuote\'\n'
[osh status] Expected 0 Got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain
    bash_compat=(applet == 'bash'))
  File "/home/uke/oil/core/shell.py", line 1296, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/executor.py", line 538, in _RunSimpleCommand
    status = self.RunBuiltin(builtin_id, cmd_val)
  File "/home/uke/oil/core/vm.py", line 266, in RunBuiltin
    return self._RunBuiltinProc(builtin_proc, cmd_val)
  File "/home/uke/oil/core/vm.py", line 276, in _RunBuiltinProc
    status = builtin_proc.Run(cmd_val)
  File "/home/uke/oil/builtin/meta_oils.py", line 92, in Run
    with dev.ctx_Tracer(self.tracer, 'eval', None):
  File "/home/uke/oil/core/dev.py", line 183, in __init__
    tracer.PushMessage(label, argv)
  File "/home/uke/oil/core/dev.py", line 584, in PushMessage
    buf = self._RichTraceBegin('>')
  File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin
    prefix = self._EvalPS4(punct)
  File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4
    ps4_word = w_parser.ReadForPlugin()
  File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin
    self._ReadLikeDQ(None, False, w.parts)
  File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ
    elif self.token_type == Id.Lit_EscapedDoubleQuote:
AttributeError: type object 'Id' has no attribute 'Lit_EscapedDoubleQuote'
osh5 source

[osh stdout] Expected '$1 = a\n$1 = x\n' Got ''
[osh stderr] Expected "> source lib.sh a b c\n . builtin echo '$1 = a'\n< source lib.sh\n> source lib.sh x $'\\xfe' $'\\xff'\n . builtin echo '$1 = x'\n< source lib.sh\n" Got 'Traceback (most recent call last):\n File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>\n sys.exit(main(sys.argv))\n File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main\n return AppBundleMain(argv)\n File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain\n bash_compat=(applet == \'bash\'))\n File "/home/uke/oil/core/shell.py", line 1296, in Main\n cmd_flags=cmd_eval.IsMainProgram)\n File "/home/uke/oil/core/main_loop.py", line 336, in Batch\n was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)\n File "/home/uke/oil/core/main_loop.py", line 401, in Batch2\n is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch\n status = self._Execute(node)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch\n status = self._DoSimple(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple\n status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/executor.py", line 577, in _RunSimpleCommand\n return self.RunBuiltin(builtin_id, cmd_val)\n File "/home/uke/oil/core/vm.py", line 266, in RunBuiltin\n return self._RunBuiltinProc(builtin_proc, cmd_val)\n File "/home/uke/oil/core/vm.py", line 276, in _RunBuiltinProc\n status = builtin_proc.Run(cmd_val)\n File "/home/uke/oil/builtin/meta_oils.py", line 177, in Run\n return self._Source(cmd_val)\n File "/home/uke/oil/builtin/meta_oils.py", line 329, in _Source\n return self._SourceExec(cmd_val, arg_r, path_arg, c_parser)\n File "/home/uke/oil/builtin/meta_oils.py", line 220, in _SourceExec\n with dev.ctx_Tracer(self.tracer, \'source\', cmd_val.argv):\n File "/home/uke/oil/core/dev.py", line 183, in __init__\n tracer.PushMessage(label, argv)\n File "/home/uke/oil/core/dev.py", line 584, in PushMessage\n buf = self._RichTraceBegin(\'>\')\n File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin\n prefix = self._EvalPS4(punct)\n File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4\n ps4_word = w_parser.ReadForPlugin()\n File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin\n self._ReadLikeDQ(None, False, w.parts)\n File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ\n elif self.token_type == Id.Lit_EscapedDoubleQuote:\nAttributeError: type object \'Id\' has no attribute \'Lit_EscapedDoubleQuote\'\n'
[osh status] Expected 0 Got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain
    bash_compat=(applet == 'bash'))
  File "/home/uke/oil/core/shell.py", line 1296, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/executor.py", line 577, in _RunSimpleCommand
    return self.RunBuiltin(builtin_id, cmd_val)
  File "/home/uke/oil/core/vm.py", line 266, in RunBuiltin
    return self._RunBuiltinProc(builtin_proc, cmd_val)
  File "/home/uke/oil/core/vm.py", line 276, in _RunBuiltinProc
    status = builtin_proc.Run(cmd_val)
  File "/home/uke/oil/builtin/meta_oils.py", line 177, in Run
    return self._Source(cmd_val)
  File "/home/uke/oil/builtin/meta_oils.py", line 329, in _Source
    return self._SourceExec(cmd_val, arg_r, path_arg, c_parser)
  File "/home/uke/oil/builtin/meta_oils.py", line 220, in _SourceExec
    with dev.ctx_Tracer(self.tracer, 'source', cmd_val.argv):
  File "/home/uke/oil/core/dev.py", line 183, in __init__
    tracer.PushMessage(label, argv)
  File "/home/uke/oil/core/dev.py", line 584, in PushMessage
    buf = self._RichTraceBegin('>')
  File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin
    prefix = self._EvalPS4(punct)
  File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4
    ps4_word = w_parser.ReadForPlugin()
  File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin
    self._ReadLikeDQ(None, False, w.parts)
  File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ
    elif self.token_type == Id.Lit_EscapedDoubleQuote:
AttributeError: type object 'Id' has no attribute 'Lit_EscapedDoubleQuote'
osh6 external and builtin

[osh stderr] Expected "| command 12345: env 'false'\n; process 12345: status 1\n. builtin 'true'\n. builtin set '+x'\n" Got 'Traceback (most recent call last):\n File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>\n sys.exit(main(sys.argv))\n File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main\n return AppBundleMain(argv)\n File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain\n bash_compat=(applet == \'bash\'))\n File "/home/uke/oil/core/shell.py", line 1296, in Main\n cmd_flags=cmd_eval.IsMainProgram)\n File "/home/uke/oil/core/main_loop.py", line 336, in Batch\n was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)\n File "/home/uke/oil/core/main_loop.py", line 401, in Batch2\n is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch\n status = self._Execute(node)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 2065, in _Dispatch\n status = self._DoRedirect(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1812, in _DoRedirect\n status = self._Execute(node.child)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 2010, in _Dispatch\n status = self._ExecuteList(node.children)\n File "/home/uke/oil/osh/cmd_eval.py", line 2241, in _ExecuteList\n status = self._Execute(child)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch\n status = self._DoSimple(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple\n status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/executor.py", line 594, in _RunSimpleCommand\n return self.RunExternal(arg0, arg0_loc, cmd_val, cmd_st, run_flags)\n File "/home/uke/oil/core/executor.py", line 639, in RunExternal\n status = p.RunProcess(self.waiter, trace.External(cmd_val.argv))\n File "/home/uke/oil/core/process.py", line 1330, in RunProcess\n self.StartProcess(why)\n File "/home/uke/oil/core/process.py", line 1193, in StartProcess\n self.tracer.OnProcessStart(pid, why)\n File "/home/uke/oil/core/dev.py", line 529, in OnProcessStart\n buf = self._RichTraceBegin(\'|\')\n File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin\n prefix = self._EvalPS4(punct)\n File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4\n ps4_word = w_parser.ReadForPlugin()\n File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin\n self._ReadLikeDQ(None, False, w.parts)\n File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ\n elif self.token_type == Id.Lit_EscapedDoubleQuote:\nAttributeError: type object \'Id\' has no attribute \'Lit_EscapedDoubleQuote\'\n'
[osh status] Expected 0 Got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain
    bash_compat=(applet == 'bash'))
  File "/home/uke/oil/core/shell.py", line 1296, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 2065, in _Dispatch
    status = self._DoRedirect(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1812, in _DoRedirect
    status = self._Execute(node.child)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 2010, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/uke/oil/osh/cmd_eval.py", line 2241, in _ExecuteList
    status = self._Execute(child)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/executor.py", line 594, in _RunSimpleCommand
    return self.RunExternal(arg0, arg0_loc, cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/core/executor.py", line 639, in RunExternal
    status = p.RunProcess(self.waiter, trace.External(cmd_val.argv))
  File "/home/uke/oil/core/process.py", line 1330, in RunProcess
    self.StartProcess(why)
  File "/home/uke/oil/core/process.py", line 1193, in StartProcess
    self.tracer.OnProcessStart(pid, why)
  File "/home/uke/oil/core/dev.py", line 529, in OnProcessStart
    buf = self._RichTraceBegin('|')
  File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin
    prefix = self._EvalPS4(punct)
  File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4
    ps4_word = w_parser.ReadForPlugin()
  File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin
    self._ReadLikeDQ(None, False, w.parts)
  File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ
    elif self.token_type == Id.Lit_EscapedDoubleQuote:
AttributeError: type object 'Id' has no attribute 'Lit_EscapedDoubleQuote'
osh7 subshell

[osh stderr] Expected " . 12345 builtin ':' p\n + 12345 exit 3\n . 12345 builtin ':' 1\n < 12345 proc p\n > 12345 proc p\n. builtin ':' begin\n. builtin set '+x'\n; process 12345: status 3\n| forkwait 12345\n" Got 'Traceback (most recent call last):\n File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>\n sys.exit(main(sys.argv))\n File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main\n return AppBundleMain(argv)\n File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain\n bash_compat=(applet == \'bash\'))\n File "/home/uke/oil/core/shell.py", line 1296, in Main\n cmd_flags=cmd_eval.IsMainProgram)\n File "/home/uke/oil/core/main_loop.py", line 336, in Batch\n was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)\n File "/home/uke/oil/core/main_loop.py", line 401, in Batch2\n is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch\n status = self._Execute(node)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 2065, in _Dispatch\n status = self._DoRedirect(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1812, in _DoRedirect\n status = self._Execute(node.child)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 2010, in _Dispatch\n status = self._ExecuteList(node.children)\n File "/home/uke/oil/osh/cmd_eval.py", line 2241, in _ExecuteList\n status = self._Execute(child)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch\n status = self._DoSimple(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple\n status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/executor.py", line 538, in _RunSimpleCommand\n status = self.RunBuiltin(builtin_id, cmd_val)\n File "/home/uke/oil/core/vm.py", line 264, in RunBuiltin\n self.tracer.OnBuiltin(builtin_id, cmd_val.argv)\n File "/home/uke/oil/core/dev.py", line 643, in OnBuiltin\n buf = self._RichTraceBegin(\'.\')\n File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin\n prefix = self._EvalPS4(punct)\n File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4\n ps4_word = w_parser.ReadForPlugin()\n File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin\n self._ReadLikeDQ(None, False, w.parts)\n File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ\n elif self.token_type == Id.Lit_EscapedDoubleQuote:\nAttributeError: type object \'Id\' has no attribute \'Lit_EscapedDoubleQuote\'\n'
[osh status] Expected 0 Got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain
    bash_compat=(applet == 'bash'))
  File "/home/uke/oil/core/shell.py", line 1296, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 2065, in _Dispatch
    status = self._DoRedirect(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1812, in _DoRedirect
    status = self._Execute(node.child)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 2010, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/uke/oil/osh/cmd_eval.py", line 2241, in _ExecuteList
    status = self._Execute(child)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/executor.py", line 538, in _RunSimpleCommand
    status = self.RunBuiltin(builtin_id, cmd_val)
  File "/home/uke/oil/core/vm.py", line 264, in RunBuiltin
    self.tracer.OnBuiltin(builtin_id, cmd_val.argv)
  File "/home/uke/oil/core/dev.py", line 643, in OnBuiltin
    buf = self._RichTraceBegin('.')
  File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin
    prefix = self._EvalPS4(punct)
  File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4
    ps4_word = w_parser.ReadForPlugin()
  File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin
    self._ReadLikeDQ(None, False, w.parts)
  File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ
    elif self.token_type == Id.Lit_EscapedDoubleQuote:
AttributeError: type object 'Id' has no attribute 'Lit_EscapedDoubleQuote'
osh8 command sub

[osh stdout] Expected 'foo=bar\n' Got ''
[osh stderr] Expected " . 12345 builtin echo bar\n. builtin echo 'foo=bar'\n. builtin set '+x'\n; process 12345: status 0\n| command sub 12345\n" Got 'Traceback (most recent call last):\n File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>\n sys.exit(main(sys.argv))\n File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main\n return AppBundleMain(argv)\n File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain\n bash_compat=(applet == \'bash\'))\n File "/home/uke/oil/core/shell.py", line 1296, in Main\n cmd_flags=cmd_eval.IsMainProgram)\n File "/home/uke/oil/core/main_loop.py", line 336, in Batch\n was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)\n File "/home/uke/oil/core/main_loop.py", line 401, in Batch2\n is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch\nTraceback (most recent call last):\n File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>\n sys.exit(main(sys.argv))\n File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main\n status = self._Execute(node)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n return AppBundleMain(argv)\n File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain\n bash_compat=(applet == \'bash\'))\n File "/home/uke/oil/core/shell.py", line 1296, in Main\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 2065, in _Dispatch\n cmd_flags=cmd_eval.IsMainProgram)\n File "/home/uke/oil/core/main_loop.py", line 336, in Batch\n was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)\n File "/home/uke/oil/core/main_loop.py", line 401, in Batch2\n is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch\n status = self._DoRedirect(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1812, in _DoRedirect\n status = self._Execute(node.child)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Execute(node)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 2010, in _Dispatch\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 2065, in _Dispatch\n status = self._ExecuteList(node.children)\n File "/home/uke/oil/osh/cmd_eval.py", line 2241, in _ExecuteList\n status = self._DoRedirect(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1812, in _DoRedirect\n status = self._Execute(child)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Execute(node.child)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch\n status = self._DoSimple(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1076, in _DoSimple\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 2010, in _Dispatch\n allow_assign=True)\n File "/home/uke/oil/osh/word_eval.py", line 2456, in EvalWordSequence2\n status = self._ExecuteList(node.children)\n File "/home/uke/oil/osh/cmd_eval.py", line 2241, in _ExecuteList\n allow_assign)\n File "/home/uke/oil/osh/word_eval.py", line 2417, in SimpleEvalWordSequence2\n status = self._Execute(child)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n self._EvalWordToParts(w, part_vals, 0) # not quoted\n File "/home/uke/oil/osh/word_eval.py", line 1993, in _EvalWordToParts\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch\n self._EvalWordPart(p, word_part_vals, eval_flags)\n File "/home/uke/oil/osh/word_eval.py", line 1885, in _EvalWordPart\n status = self._DoSimple(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1076, in _DoSimple\n quoted) # type: part_value_t\n File "/home/uke/oil/osh/word_eval.py", line 2600, in _EvalCommandSub\n allow_assign=True)\n File "/home/uke/oil/osh/word_eval.py", line 2456, in EvalWordSequence2\n stdout_str = self.shell_ex.RunCommandSub(cs_part)\n File "/home/uke/oil/core/executor.py", line 881, in RunCommandSub\n status, stdout_str = self.CaptureStdout(node)\n File "/home/uke/oil/core/executor.py", line 758, in CaptureStdout\n allow_assign)\n File "/home/uke/oil/osh/word_eval.py", line 2417, in SimpleEvalWordSequence2\n p.StartProcess(trace.CommandSub)\n File "/home/uke/oil/core/process.py", line 1193, in StartProcess\n self.tracer.OnProcessStart(pid, why)\n File "/home/uke/oil/core/dev.py", line 529, in OnProcessStart\n buf = self._RichTraceBegin(\'|\')\n File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin\n prefix = self._EvalPS4(punct)\n File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4\n ps4_word = w_parser.ReadForPlugin()\n File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin\n self._EvalWordToParts(w, part_vals, 0) # not quoted\n File "/home/uke/oil/osh/word_eval.py", line 1993, in _EvalWordToParts\n self._ReadLikeDQ(None, False, w.parts)\n File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ\n self._EvalWordPart(p, word_part_vals, eval_flags)\n File "/home/uke/oil/osh/word_eval.py", line 1885, in _EvalWordPart\n elif self.token_type == Id.Lit_EscapedDoubleQuote:\nAttributeError: type object \'Id\' has no attribute \'Lit_EscapedDoubleQuote\'\n quoted) # type: part_value_t\n File "/home/uke/oil/osh/word_eval.py", line 2600, in _EvalCommandSub\n stdout_str = self.shell_ex.RunCommandSub(cs_part)\n File "/home/uke/oil/core/executor.py", line 881, in RunCommandSub\n status, stdout_str = self.CaptureStdout(node)\n File "/home/uke/oil/core/executor.py", line 758, in CaptureStdout\n p.StartProcess(trace.CommandSub)\n File "/home/uke/oil/core/process.py", line 1189, in StartProcess\n self.thunk.Run()\n File "/home/uke/oil/core/process.py", line 936, in Run\n cmd_eval.OptimizeSubshells | cmd_eval.MarkLastCommands)\n File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch\n status = self._Execute(node)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch\n status = self._DoSimple(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple\n status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/executor.py", line 577, in _RunSimpleCommand\n return self.RunBuiltin(builtin_id, cmd_val)\n File "/home/uke/oil/core/vm.py", line 264, in RunBuiltin\n self.tracer.OnBuiltin(builtin_id, cmd_val.argv)\n File "/home/uke/oil/core/dev.py", line 643, in OnBuiltin\n buf = self._RichTraceBegin(\'.\')\n File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin\n prefix = self._EvalPS4(punct)\n File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4\n ps4_word = w_parser.ReadForPlugin()\n File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin\n self._ReadLikeDQ(None, False, w.parts)\n File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ\n elif self.token_type == Id.Lit_EscapedDoubleQuote:\nAttributeError: type object \'Id\' has no attribute \'Lit_EscapedDoubleQuote\'\n'
[osh status] Expected 0 Got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain
    bash_compat=(applet == 'bash'))
  File "/home/uke/oil/core/shell.py", line 1296, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain
    bash_compat=(applet == 'bash'))
  File "/home/uke/oil/core/shell.py", line 1296, in Main
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 2065, in _Dispatch
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch
    status = self._DoRedirect(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1812, in _DoRedirect
    status = self._Execute(node.child)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 2010, in _Dispatch
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 2065, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/uke/oil/osh/cmd_eval.py", line 2241, in _ExecuteList
    status = self._DoRedirect(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1812, in _DoRedirect
    status = self._Execute(child)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Execute(node.child)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1076, in _DoSimple
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 2010, in _Dispatch
    allow_assign=True)
  File "/home/uke/oil/osh/word_eval.py", line 2456, in EvalWordSequence2
    status = self._ExecuteList(node.children)
  File "/home/uke/oil/osh/cmd_eval.py", line 2241, in _ExecuteList
    allow_assign)
  File "/home/uke/oil/osh/word_eval.py", line 2417, in SimpleEvalWordSequence2
    status = self._Execute(child)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    self._EvalWordToParts(w, part_vals, 0)  # not quoted
  File "/home/uke/oil/osh/word_eval.py", line 1993, in _EvalWordToParts
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch
    self._EvalWordPart(p, word_part_vals, eval_flags)
  File "/home/uke/oil/osh/word_eval.py", line 1885, in _EvalWordPart
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1076, in _DoSimple
    quoted)  # type: part_value_t
  File "/home/uke/oil/osh/word_eval.py", line 2600, in _EvalCommandSub
    allow_assign=True)
  File "/home/uke/oil/osh/word_eval.py", line 2456, in EvalWordSequence2
    stdout_str = self.shell_ex.RunCommandSub(cs_part)
  File "/home/uke/oil/core/executor.py", line 881, in RunCommandSub
    status, stdout_str = self.CaptureStdout(node)
  File "/home/uke/oil/core/executor.py", line 758, in CaptureStdout
    allow_assign)
  File "/home/uke/oil/osh/word_eval.py", line 2417, in SimpleEvalWordSequence2
    p.StartProcess(trace.CommandSub)
  File "/home/uke/oil/core/process.py", line 1193, in StartProcess
    self.tracer.OnProcessStart(pid, why)
  File "/home/uke/oil/core/dev.py", line 529, in OnProcessStart
    buf = self._RichTraceBegin('|')
  File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin
    prefix = self._EvalPS4(punct)
  File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4
    ps4_word = w_parser.ReadForPlugin()
  File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin
    self._EvalWordToParts(w, part_vals, 0)  # not quoted
  File "/home/uke/oil/osh/word_eval.py", line 1993, in _EvalWordToParts
    self._ReadLikeDQ(None, False, w.parts)
  File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ
    self._EvalWordPart(p, word_part_vals, eval_flags)
  File "/home/uke/oil/osh/word_eval.py", line 1885, in _EvalWordPart
    elif self.token_type == Id.Lit_EscapedDoubleQuote:
AttributeError: type object 'Id' has no attribute 'Lit_EscapedDoubleQuote'
    quoted)  # type: part_value_t
  File "/home/uke/oil/osh/word_eval.py", line 2600, in _EvalCommandSub
    stdout_str = self.shell_ex.RunCommandSub(cs_part)
  File "/home/uke/oil/core/executor.py", line 881, in RunCommandSub
    status, stdout_str = self.CaptureStdout(node)
  File "/home/uke/oil/core/executor.py", line 758, in CaptureStdout
    p.StartProcess(trace.CommandSub)
  File "/home/uke/oil/core/process.py", line 1189, in StartProcess
    self.thunk.Run()
  File "/home/uke/oil/core/process.py", line 936, in Run
    cmd_eval.OptimizeSubshells | cmd_eval.MarkLastCommands)
  File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/executor.py", line 577, in _RunSimpleCommand
    return self.RunBuiltin(builtin_id, cmd_val)
  File "/home/uke/oil/core/vm.py", line 264, in RunBuiltin
    self.tracer.OnBuiltin(builtin_id, cmd_val.argv)
  File "/home/uke/oil/core/dev.py", line 643, in OnBuiltin
    buf = self._RichTraceBegin('.')
  File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin
    prefix = self._EvalPS4(punct)
  File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4
    ps4_word = w_parser.ReadForPlugin()
  File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin
    self._ReadLikeDQ(None, False, w.parts)
  File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ
    elif self.token_type == Id.Lit_EscapedDoubleQuote:
AttributeError: type object 'Id' has no attribute 'Lit_EscapedDoubleQuote'
osh9 process sub (nondeterministic)

[osh stdout] Expected '4\n3\n1\n' Got ''
[osh stderr] Expected " . 12345 builtin echo 1\n . 12345 exec seq 3 4\n. builtin ':' begin\n. builtin set '+x'\n; process 12345: status 0\n; process 12345: status 0\n; process 12345: status 0\n| command 12345: tac /dev/fd/N /dev/fd/N\n| proc sub 12345\n| proc sub 12345\n" Got 'Traceback (most recent call last):\n File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>\n sys.exit(main(sys.argv))\n File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main\n return AppBundleMain(argv)\n File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain\n bash_compat=(applet == \'bash\'))\n File "/home/uke/oil/core/shell.py", line 1296, in Main\n cmd_flags=cmd_eval.IsMainProgram)\n File "/home/uke/oil/core/main_loop.py", line 336, in Batch\n was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)\n File "/home/uke/oil/core/main_loop.py", line 401, in Batch2\n is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch\n status = self._Execute(node)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 2065, in _Dispatch\n status = self._DoRedirect(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1812, in _DoRedirect\n status = self._Execute(node.child)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 2010, in _Dispatch\n status = self._ExecuteList(node.children)\n File "/home/uke/oil/osh/cmd_eval.py", line 2241, in _ExecuteList\n status = self._Execute(child)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch\n status = self._DoSimple(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple\n status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/executor.py", line 538, in _RunSimpleCommand\n status = self.RunBuiltin(builtin_id, cmd_val)\n File "/home/uke/oil/core/vm.py", line 264, in RunBuiltin\n self.tracer.OnBuiltin(builtin_id, cmd_val.argv)\n File "/home/uke/oil/core/dev.py", line 643, in OnBuiltin\n buf = self._RichTraceBegin(\'.\')\n File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin\n prefix = self._EvalPS4(punct)\n File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4\n ps4_word = w_parser.ReadForPlugin()\n File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin\n self._ReadLikeDQ(None, False, w.parts)\n File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ\n elif self.token_type == Id.Lit_EscapedDoubleQuote:\nAttributeError: type object \'Id\' has no attribute \'Lit_EscapedDoubleQuote\'\n'
[osh status] Expected 0 Got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain
    bash_compat=(applet == 'bash'))
  File "/home/uke/oil/core/shell.py", line 1296, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 2065, in _Dispatch
    status = self._DoRedirect(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1812, in _DoRedirect
    status = self._Execute(node.child)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 2010, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/uke/oil/osh/cmd_eval.py", line 2241, in _ExecuteList
    status = self._Execute(child)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/executor.py", line 538, in _RunSimpleCommand
    status = self.RunBuiltin(builtin_id, cmd_val)
  File "/home/uke/oil/core/vm.py", line 264, in RunBuiltin
    self.tracer.OnBuiltin(builtin_id, cmd_val.argv)
  File "/home/uke/oil/core/dev.py", line 643, in OnBuiltin
    buf = self._RichTraceBegin('.')
  File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin
    prefix = self._EvalPS4(punct)
  File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4
    ps4_word = w_parser.ReadForPlugin()
  File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin
    self._ReadLikeDQ(None, False, w.parts)
  File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ
    elif self.token_type == Id.Lit_EscapedDoubleQuote:
AttributeError: type object 'Id' has no attribute 'Lit_EscapedDoubleQuote'
osh10 pipeline (nondeterministic)

[osh stdout] Expected '2\n' Got ''
[osh stderr] Expected " . 12345 builtin echo 1\n . 12345 builtin echo 2\n . 12345 exec sort\n < 12345 proc myfunc\n > 12345 proc myfunc\n ; process 12345: status 0\n ; process 12345: status 0\n ; process 12345: status 0\n | command 12345: wc -l\n | part 12345\n | part 12345\n. builtin ':' begin\n. builtin set '+x'\n< pipeline\n> pipeline\n" Got 'Traceback (most recent call last):\n File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>\n sys.exit(main(sys.argv))\n File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main\n return AppBundleMain(argv)\n File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain\n bash_compat=(applet == \'bash\'))\n File "/home/uke/oil/core/shell.py", line 1296, in Main\n cmd_flags=cmd_eval.IsMainProgram)\n File "/home/uke/oil/core/main_loop.py", line 336, in Batch\n was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)\n File "/home/uke/oil/core/main_loop.py", line 401, in Batch2\n is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch\n status = self._Execute(node)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 2065, in _Dispatch\n status = self._DoRedirect(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1812, in _DoRedirect\n status = self._Execute(node.child)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 2010, in _Dispatch\n status = self._ExecuteList(node.children)\n File "/home/uke/oil/osh/cmd_eval.py", line 2241, in _ExecuteList\n status = self._Execute(child)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch\n status = self._DoSimple(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple\n status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/executor.py", line 538, in _RunSimpleCommand\n status = self.RunBuiltin(builtin_id, cmd_val)\n File "/home/uke/oil/core/vm.py", line 264, in RunBuiltin\n self.tracer.OnBuiltin(builtin_id, cmd_val.argv)\n File "/home/uke/oil/core/dev.py", line 643, in OnBuiltin\n buf = self._RichTraceBegin(\'.\')\n File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin\n prefix = self._EvalPS4(punct)\n File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4\n ps4_word = w_parser.ReadForPlugin()\n File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin\n self._ReadLikeDQ(None, False, w.parts)\n File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ\n elif self.token_type == Id.Lit_EscapedDoubleQuote:\nAttributeError: type object \'Id\' has no attribute \'Lit_EscapedDoubleQuote\'\n'
[osh status] Expected 0 Got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain
    bash_compat=(applet == 'bash'))
  File "/home/uke/oil/core/shell.py", line 1296, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 2065, in _Dispatch
    status = self._DoRedirect(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1812, in _DoRedirect
    status = self._Execute(node.child)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 2010, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/uke/oil/osh/cmd_eval.py", line 2241, in _ExecuteList
    status = self._Execute(child)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/executor.py", line 538, in _RunSimpleCommand
    status = self.RunBuiltin(builtin_id, cmd_val)
  File "/home/uke/oil/core/vm.py", line 264, in RunBuiltin
    self.tracer.OnBuiltin(builtin_id, cmd_val.argv)
  File "/home/uke/oil/core/dev.py", line 643, in OnBuiltin
    buf = self._RichTraceBegin('.')
  File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin
    prefix = self._EvalPS4(punct)
  File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4
    ps4_word = w_parser.ReadForPlugin()
  File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin
    self._ReadLikeDQ(None, False, w.parts)
  File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ
    elif self.token_type == Id.Lit_EscapedDoubleQuote:
AttributeError: type object 'Id' has no attribute 'Lit_EscapedDoubleQuote'
osh11 singleton pipeline

[osh stderr] Expected ". builtin ':' begin\n. builtin 'false'\n. builtin ':' end\n" Got 'Traceback (most recent call last):\n File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>\n sys.exit(main(sys.argv))\n File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main\n return AppBundleMain(argv)\n File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain\n bash_compat=(applet == \'bash\'))\n File "/home/uke/oil/core/shell.py", line 1296, in Main\n cmd_flags=cmd_eval.IsMainProgram)\n File "/home/uke/oil/core/main_loop.py", line 336, in Batch\n was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)\n File "/home/uke/oil/core/main_loop.py", line 401, in Batch2\n is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch\n status = self._Execute(node)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch\n status = self._DoSimple(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple\n status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/executor.py", line 538, in _RunSimpleCommand\n status = self.RunBuiltin(builtin_id, cmd_val)\n File "/home/uke/oil/core/vm.py", line 264, in RunBuiltin\n self.tracer.OnBuiltin(builtin_id, cmd_val.argv)\n File "/home/uke/oil/core/dev.py", line 643, in OnBuiltin\n buf = self._RichTraceBegin(\'.\')\n File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin\n prefix = self._EvalPS4(punct)\n File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4\n ps4_word = w_parser.ReadForPlugin()\n File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin\n self._ReadLikeDQ(None, False, w.parts)\n File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ\n elif self.token_type == Id.Lit_EscapedDoubleQuote:\nAttributeError: type object \'Id\' has no attribute \'Lit_EscapedDoubleQuote\'\n'
[osh status] Expected 0 Got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain
    bash_compat=(applet == 'bash'))
  File "/home/uke/oil/core/shell.py", line 1296, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/executor.py", line 538, in _RunSimpleCommand
    status = self.RunBuiltin(builtin_id, cmd_val)
  File "/home/uke/oil/core/vm.py", line 264, in RunBuiltin
    self.tracer.OnBuiltin(builtin_id, cmd_val.argv)
  File "/home/uke/oil/core/dev.py", line 643, in OnBuiltin
    buf = self._RichTraceBegin('.')
  File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin
    prefix = self._EvalPS4(punct)
  File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4
    ps4_word = w_parser.ReadForPlugin()
  File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin
    self._ReadLikeDQ(None, False, w.parts)
  File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ
    elif self.token_type == Id.Lit_EscapedDoubleQuote:
AttributeError: type object 'Id' has no attribute 'Lit_EscapedDoubleQuote'
osh12 Background pipeline (separate code path)

[osh stdout] Expected 'status=0\n' Got ''
[osh stderr] Expected " . 12345 builtin echo 1\n . 12345 builtin echo 2\n . 12345 exec grep ZZZ\n . 12345 exec sort\n ; process 12345: status 0\n ; process 12345: status 0\n ; process 12345: status 1\n < 12345 proc myfunc\n > 12345 proc myfunc\n. builtin ':' begin\n. builtin echo 'status=0'\n. builtin set '+x'\n< wait\n> wait\n| part 12345\n| part 12345\n| part 12345\n" Got 'Traceback (most recent call last):\n File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>\n sys.exit(main(sys.argv))\n File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main\n return AppBundleMain(argv)\n File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain\n bash_compat=(applet == \'bash\'))\n File "/home/uke/oil/core/shell.py", line 1296, in Main\n cmd_flags=cmd_eval.IsMainProgram)\n File "/home/uke/oil/core/main_loop.py", line 336, in Batch\n was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)\n File "/home/uke/oil/core/main_loop.py", line 401, in Batch2\n is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch\n status = self._Execute(node)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 2065, in _Dispatch\n status = self._DoRedirect(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1812, in _DoRedirect\n status = self._Execute(node.child)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 2010, in _Dispatch\n status = self._ExecuteList(node.children)\n File "/home/uke/oil/osh/cmd_eval.py", line 2241, in _ExecuteList\n status = self._Execute(child)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch\n status = self._DoSimple(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple\n status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/executor.py", line 538, in _RunSimpleCommand\n status = self.RunBuiltin(builtin_id, cmd_val)\n File "/home/uke/oil/core/vm.py", line 264, in RunBuiltin\n self.tracer.OnBuiltin(builtin_id, cmd_val.argv)\n File "/home/uke/oil/core/dev.py", line 643, in OnBuiltin\n buf = self._RichTraceBegin(\'.\')\n File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin\n prefix = self._EvalPS4(punct)\n File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4\n ps4_word = w_parser.ReadForPlugin()\n File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin\n self._ReadLikeDQ(None, False, w.parts)\n File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ\n elif self.token_type == Id.Lit_EscapedDoubleQuote:\nAttributeError: type object \'Id\' has no attribute \'Lit_EscapedDoubleQuote\'\n'
[osh status] Expected 0 Got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain
    bash_compat=(applet == 'bash'))
  File "/home/uke/oil/core/shell.py", line 1296, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 2065, in _Dispatch
    status = self._DoRedirect(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1812, in _DoRedirect
    status = self._Execute(node.child)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 2010, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/uke/oil/osh/cmd_eval.py", line 2241, in _ExecuteList
    status = self._Execute(child)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/executor.py", line 538, in _RunSimpleCommand
    status = self.RunBuiltin(builtin_id, cmd_val)
  File "/home/uke/oil/core/vm.py", line 264, in RunBuiltin
    self.tracer.OnBuiltin(builtin_id, cmd_val.argv)
  File "/home/uke/oil/core/dev.py", line 643, in OnBuiltin
    buf = self._RichTraceBegin('.')
  File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin
    prefix = self._EvalPS4(punct)
  File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4
    ps4_word = w_parser.ReadForPlugin()
  File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin
    self._ReadLikeDQ(None, False, w.parts)
  File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ
    elif self.token_type == Id.Lit_EscapedDoubleQuote:
AttributeError: type object 'Id' has no attribute 'Lit_EscapedDoubleQuote'
osh13 Background process with fork and & (nondeterministic)

[osh stderr] Expected " . 12345 exec sleep 0.1\n . 12345 exec sleep 0.1\n ; process 12345: status 0\n ; process 12345: status 0\n. builtin fork\n. builtin set '+x'\n. builtin shopt -s 'ysh:upgrade'\n< wait\n< wait\n> wait\n> wait\n| fork 12345\n| fork 12345\n" Got 'Traceback (most recent call last):\n File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>\n sys.exit(main(sys.argv))\n File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main\n return AppBundleMain(argv)\n File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain\n bash_compat=(applet == \'bash\'))\n File "/home/uke/oil/core/shell.py", line 1296, in Main\n cmd_flags=cmd_eval.IsMainProgram)\n File "/home/uke/oil/core/main_loop.py", line 336, in Batch\n was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)\n File "/home/uke/oil/core/main_loop.py", line 401, in Batch2\n is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch\nTraceback (most recent call last):\n File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>\n sys.exit(main(sys.argv))\n File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main\n return AppBundleMain(argv)\n File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain\n bash_compat=(applet == \'bash\'))\n File "/home/uke/oil/core/shell.py", line 1296, in Main\n cmd_flags=cmd_eval.IsMainProgram)\n File "/home/uke/oil/core/main_loop.py", line 336, in Batch\n status = self._Execute(node)\n was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n File "/home/uke/oil/core/main_loop.py", line 401, in Batch2\n is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 2065, in _Dispatch\n status = self._Execute(node)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._DoRedirect(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1812, in _DoRedirect\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 2065, in _Dispatch\n status = self._Execute(node.child)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._DoRedirect(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1812, in _DoRedirect\n status = self._Execute(node.child)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 2010, in _Dispatch\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 2010, in _Dispatch\n status = self._ExecuteList(node.children)\n File "/home/uke/oil/osh/cmd_eval.py", line 2241, in _ExecuteList\n status = self._ExecuteList(node.children)\n File "/home/uke/oil/osh/cmd_eval.py", line 2241, in _ExecuteList\n status = self._Execute(child)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Execute(child)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1911, in _Dispatch\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1911, in _Dispatch\n status = self.shell_ex.RunBackgroundJob(node.child)\n File "/home/uke/oil/core/executor.py", line 694, in RunBackgroundJob\n status = self.shell_ex.RunBackgroundJob(node.child)\n File "/home/uke/oil/core/executor.py", line 694, in RunBackgroundJob\n pid = p.StartProcess(trace.Fork)\npid = p.StartProcess(trace.Fork)\n File "/home/uke/oil/core/process.py", line 1189, in StartProcess\n File "/home/uke/oil/core/process.py", line 1193, in StartProcess\n self.thunk.Run()\n File "/home/uke/oil/core/process.py", line 936, in Run\n self.tracer.OnProcessStart(pid, why)\n File "/home/uke/oil/core/dev.py", line 529, in OnProcessStart\n cmd_eval.OptimizeSubshells | cmd_eval.MarkLastCommands)\nbuf = self._RichTraceBegin(\'|\')\n File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch\n File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin\n prefix = self._EvalPS4(punct)\n File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4\n ps4_word = w_parser.ReadForPlugin()\n File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin\n status = self._Execute(node)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n self._ReadLikeDQ(None, False, w.parts)\n File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch\n elif self.token_type == Id.Lit_EscapedDoubleQuote:\nAttributeError: type object \'Id\' has no attribute \'Lit_EscapedDoubleQuote\'\n status = self._DoSimple(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple\n status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/executor.py", line 594, in _RunSimpleCommand\n return self.RunExternal(arg0, arg0_loc, cmd_val, cmd_st, run_flags)\n File "/home/uke/oil/core/executor.py", line 649, in RunExternal\n self.tracer.OnExec(cmd_val.argv)\n File "/home/uke/oil/core/dev.py", line 630, in OnExec\n buf = self._RichTraceBegin(\'.\')\n File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin\n prefix = self._EvalPS4(punct)\n File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4\n ps4_word = w_parser.ReadForPlugin()\n File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin\n self._ReadLikeDQ(None, False, w.parts)\n File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ\n elif self.token_type == Id.Lit_EscapedDoubleQuote:\nAttributeError: type object \'Id\' has no attribute \'Lit_EscapedDoubleQuote\'\n'
[osh status] Expected 0 Got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain
    bash_compat=(applet == 'bash'))
  File "/home/uke/oil/core/shell.py", line 1296, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain
    bash_compat=(applet == 'bash'))
  File "/home/uke/oil/core/shell.py", line 1296, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    status = self._Execute(node)
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 2065, in _Dispatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._DoRedirect(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1812, in _DoRedirect
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 2065, in _Dispatch
    status = self._Execute(node.child)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._DoRedirect(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1812, in _DoRedirect
    status = self._Execute(node.child)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 2010, in _Dispatch
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 2010, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/uke/oil/osh/cmd_eval.py", line 2241, in _ExecuteList
    status = self._ExecuteList(node.children)
  File "/home/uke/oil/osh/cmd_eval.py", line 2241, in _ExecuteList
    status = self._Execute(child)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Execute(child)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1911, in _Dispatch
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1911, in _Dispatch
    status = self.shell_ex.RunBackgroundJob(node.child)
  File "/home/uke/oil/core/executor.py", line 694, in RunBackgroundJob
    status = self.shell_ex.RunBackgroundJob(node.child)
  File "/home/uke/oil/core/executor.py", line 694, in RunBackgroundJob
        pid = p.StartProcess(trace.Fork)
pid = p.StartProcess(trace.Fork)
  File "/home/uke/oil/core/process.py", line 1189, in StartProcess
  File "/home/uke/oil/core/process.py", line 1193, in StartProcess
    self.thunk.Run()
  File "/home/uke/oil/core/process.py", line 936, in Run
    self.tracer.OnProcessStart(pid, why)
  File "/home/uke/oil/core/dev.py", line 529, in OnProcessStart
        cmd_eval.OptimizeSubshells | cmd_eval.MarkLastCommands)
buf = self._RichTraceBegin('|')
  File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch
  File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin
    prefix = self._EvalPS4(punct)
  File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4
    ps4_word = w_parser.ReadForPlugin()
  File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    self._ReadLikeDQ(None, False, w.parts)
  File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch
    elif self.token_type == Id.Lit_EscapedDoubleQuote:
AttributeError: type object 'Id' has no attribute 'Lit_EscapedDoubleQuote'
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/executor.py", line 594, in _RunSimpleCommand
    return self.RunExternal(arg0, arg0_loc, cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/core/executor.py", line 649, in RunExternal
    self.tracer.OnExec(cmd_val.argv)
  File "/home/uke/oil/core/dev.py", line 630, in OnExec
    buf = self._RichTraceBegin('.')
  File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin
    prefix = self._EvalPS4(punct)
  File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4
    ps4_word = w_parser.ReadForPlugin()
  File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin
    self._ReadLikeDQ(None, False, w.parts)
  File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ
    elif self.token_type == Id.Lit_EscapedDoubleQuote:
AttributeError: type object 'Id' has no attribute 'Lit_EscapedDoubleQuote'
osh14 Here doc

[osh stdout] Expected '2\n3\n' Got ''
[osh stderr] Expected ". builtin ':' begin\n| command 12345: tac\n; process 12345: status 0\n. builtin set '+x'\n" Got 'Traceback (most recent call last):\n File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>\n sys.exit(main(sys.argv))\n File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main\n return AppBundleMain(argv)\n File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain\n bash_compat=(applet == \'bash\'))\n File "/home/uke/oil/core/shell.py", line 1296, in Main\n cmd_flags=cmd_eval.IsMainProgram)\n File "/home/uke/oil/core/main_loop.py", line 336, in Batch\n was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)\n File "/home/uke/oil/core/main_loop.py", line 375, in Batch2\n node = c_parser.ParseLogicalLine() # can raise ParseError\n File "/home/uke/oil/osh/cmd_parse.py", line 2839, in ParseLogicalLine\n node = self._ParseCommandLine()\n File "/home/uke/oil/osh/cmd_parse.py", line 2695, in _ParseCommandLine\n child = self.ParseAndOr()\n File "/home/uke/oil/osh/cmd_parse.py", line 2619, in ParseAndOr\n return self._ParseAndOr()\n File "/home/uke/oil/osh/cmd_parse.py", line 2630, in _ParseAndOr\n child = self.ParsePipeline()\n File "/home/uke/oil/osh/cmd_parse.py", line 2578, in ParsePipeline\n child = self.ParseCommand()\n File "/home/uke/oil/osh/cmd_parse.py", line 2496, in ParseCommand\n return self.ParseCompoundCommand()\n File "/home/uke/oil/osh/cmd_parse.py", line 2073, in ParseCompoundCommand\n n1 = self.ParseBraceGroup()\n File "/home/uke/oil/osh/cmd_parse.py", line 1365, in ParseBraceGroup\n c_list = self._ParseCommandList()\n File "/home/uke/oil/osh/cmd_parse.py", line 2823, in _ParseCommandList\n return self._ParseCommandTerm()\n File "/home/uke/oil/osh/cmd_parse.py", line 2760, in _ParseCommandTerm\n child = self.ParseAndOr()\n File "/home/uke/oil/osh/cmd_parse.py", line 2619, in ParseAndOr\n return self._ParseAndOr()\n File "/home/uke/oil/osh/cmd_parse.py", line 2630, in _ParseAndOr\n child = self.ParsePipeline()\n File "/home/uke/oil/osh/cmd_parse.py", line 2578, in ParsePipeline\n child = self.ParseCommand()\n File "/home/uke/oil/osh/cmd_parse.py", line 2554, in ParseCommand\n return self.ParseSimpleCommand()\n File "/home/uke/oil/osh/cmd_parse.py", line 1222, in ParseSimpleCommand\n redirects, words, typed_args, block = self._ScanSimpleCommand()\n File "/home/uke/oil/osh/cmd_parse.py", line 904, in _ScanSimpleCommand\n self._GetWord()\n File "/home/uke/oil/osh/cmd_parse.py", line 680, in _GetWord\n self.arena)\n File "/home/uke/oil/osh/cmd_parse.py", line 203, in _ParseHereDocBody\n w_parser.ReadHereDocBody(h.stdin_parts) # fills this in\n File "/home/uke/oil/osh/word_parse.py", line 2347, in ReadHereDocBody\n self._ReadLikeDQ(None, False, parts)\n File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ\n elif self.token_type == Id.Lit_EscapedDoubleQuote:\nAttributeError: type object \'Id\' has no attribute \'Lit_EscapedDoubleQuote\'\n'
[osh status] Expected 0 Got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain
    bash_compat=(applet == 'bash'))
  File "/home/uke/oil/core/shell.py", line 1296, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch2
    node = c_parser.ParseLogicalLine()  # can raise ParseError
  File "/home/uke/oil/osh/cmd_parse.py", line 2839, in ParseLogicalLine
    node = self._ParseCommandLine()
  File "/home/uke/oil/osh/cmd_parse.py", line 2695, in _ParseCommandLine
    child = self.ParseAndOr()
  File "/home/uke/oil/osh/cmd_parse.py", line 2619, in ParseAndOr
    return self._ParseAndOr()
  File "/home/uke/oil/osh/cmd_parse.py", line 2630, in _ParseAndOr
    child = self.ParsePipeline()
  File "/home/uke/oil/osh/cmd_parse.py", line 2578, in ParsePipeline
    child = self.ParseCommand()
  File "/home/uke/oil/osh/cmd_parse.py", line 2496, in ParseCommand
    return self.ParseCompoundCommand()
  File "/home/uke/oil/osh/cmd_parse.py", line 2073, in ParseCompoundCommand
    n1 = self.ParseBraceGroup()
  File "/home/uke/oil/osh/cmd_parse.py", line 1365, in ParseBraceGroup
    c_list = self._ParseCommandList()
  File "/home/uke/oil/osh/cmd_parse.py", line 2823, in _ParseCommandList
    return self._ParseCommandTerm()
  File "/home/uke/oil/osh/cmd_parse.py", line 2760, in _ParseCommandTerm
    child = self.ParseAndOr()
  File "/home/uke/oil/osh/cmd_parse.py", line 2619, in ParseAndOr
    return self._ParseAndOr()
  File "/home/uke/oil/osh/cmd_parse.py", line 2630, in _ParseAndOr
    child = self.ParsePipeline()
  File "/home/uke/oil/osh/cmd_parse.py", line 2578, in ParsePipeline
    child = self.ParseCommand()
  File "/home/uke/oil/osh/cmd_parse.py", line 2554, in ParseCommand
    return self.ParseSimpleCommand()
  File "/home/uke/oil/osh/cmd_parse.py", line 1222, in ParseSimpleCommand
    redirects, words, typed_args, block = self._ScanSimpleCommand()
  File "/home/uke/oil/osh/cmd_parse.py", line 904, in _ScanSimpleCommand
    self._GetWord()
  File "/home/uke/oil/osh/cmd_parse.py", line 680, in _GetWord
    self.arena)
  File "/home/uke/oil/osh/cmd_parse.py", line 203, in _ParseHereDocBody
    w_parser.ReadHereDocBody(h.stdin_parts)  # fills this in
  File "/home/uke/oil/osh/word_parse.py", line 2347, in ReadHereDocBody
    self._ReadLikeDQ(None, False, parts)
  File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ
    elif self.token_type == Id.Lit_EscapedDoubleQuote:
AttributeError: type object 'Id' has no attribute 'Lit_EscapedDoubleQuote'
osh15 Two here docs

[osh stdout] Expected 'yy\nxx\nzz\n' Got ''
[osh stderr] Expected "| command 12345: tac - /dev/fd/3\n; process 12345: status 0\n. builtin set '+x'\n" Got 'Traceback (most recent call last):\n File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>\n sys.exit(main(sys.argv))\n File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main\n return AppBundleMain(argv)\n File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain\n bash_compat=(applet == \'bash\'))\n File "/home/uke/oil/core/shell.py", line 1296, in Main\n cmd_flags=cmd_eval.IsMainProgram)\n File "/home/uke/oil/core/main_loop.py", line 336, in Batch\n was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)\n File "/home/uke/oil/core/main_loop.py", line 375, in Batch2\n node = c_parser.ParseLogicalLine() # can raise ParseError\n File "/home/uke/oil/osh/cmd_parse.py", line 2839, in ParseLogicalLine\n node = self._ParseCommandLine()\n File "/home/uke/oil/osh/cmd_parse.py", line 2695, in _ParseCommandLine\n child = self.ParseAndOr()\n File "/home/uke/oil/osh/cmd_parse.py", line 2619, in ParseAndOr\n return self._ParseAndOr()\n File "/home/uke/oil/osh/cmd_parse.py", line 2630, in _ParseAndOr\n child = self.ParsePipeline()\n File "/home/uke/oil/osh/cmd_parse.py", line 2578, in ParsePipeline\n child = self.ParseCommand()\n File "/home/uke/oil/osh/cmd_parse.py", line 2496, in ParseCommand\n return self.ParseCompoundCommand()\n File "/home/uke/oil/osh/cmd_parse.py", line 2073, in ParseCompoundCommand\n n1 = self.ParseBraceGroup()\n File "/home/uke/oil/osh/cmd_parse.py", line 1365, in ParseBraceGroup\n c_list = self._ParseCommandList()\n File "/home/uke/oil/osh/cmd_parse.py", line 2823, in _ParseCommandList\n return self._ParseCommandTerm()\n File "/home/uke/oil/osh/cmd_parse.py", line 2760, in _ParseCommandTerm\n child = self.ParseAndOr()\n File "/home/uke/oil/osh/cmd_parse.py", line 2619, in ParseAndOr\n return self._ParseAndOr()\n File "/home/uke/oil/osh/cmd_parse.py", line 2630, in _ParseAndOr\n child = self.ParsePipeline()\n File "/home/uke/oil/osh/cmd_parse.py", line 2578, in ParsePipeline\n child = self.ParseCommand()\n File "/home/uke/oil/osh/cmd_parse.py", line 2554, in ParseCommand\n return self.ParseSimpleCommand()\n File "/home/uke/oil/osh/cmd_parse.py", line 1222, in ParseSimpleCommand\n redirects, words, typed_args, block = self._ScanSimpleCommand()\n File "/home/uke/oil/osh/cmd_parse.py", line 904, in _ScanSimpleCommand\n self._GetWord()\n File "/home/uke/oil/osh/cmd_parse.py", line 680, in _GetWord\n self.arena)\n File "/home/uke/oil/osh/cmd_parse.py", line 203, in _ParseHereDocBody\n w_parser.ReadHereDocBody(h.stdin_parts) # fills this in\n File "/home/uke/oil/osh/word_parse.py", line 2347, in ReadHereDocBody\n self._ReadLikeDQ(None, False, parts)\n File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ\n elif self.token_type == Id.Lit_EscapedDoubleQuote:\nAttributeError: type object \'Id\' has no attribute \'Lit_EscapedDoubleQuote\'\n'
[osh status] Expected 0 Got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain
    bash_compat=(applet == 'bash'))
  File "/home/uke/oil/core/shell.py", line 1296, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch2
    node = c_parser.ParseLogicalLine()  # can raise ParseError
  File "/home/uke/oil/osh/cmd_parse.py", line 2839, in ParseLogicalLine
    node = self._ParseCommandLine()
  File "/home/uke/oil/osh/cmd_parse.py", line 2695, in _ParseCommandLine
    child = self.ParseAndOr()
  File "/home/uke/oil/osh/cmd_parse.py", line 2619, in ParseAndOr
    return self._ParseAndOr()
  File "/home/uke/oil/osh/cmd_parse.py", line 2630, in _ParseAndOr
    child = self.ParsePipeline()
  File "/home/uke/oil/osh/cmd_parse.py", line 2578, in ParsePipeline
    child = self.ParseCommand()
  File "/home/uke/oil/osh/cmd_parse.py", line 2496, in ParseCommand
    return self.ParseCompoundCommand()
  File "/home/uke/oil/osh/cmd_parse.py", line 2073, in ParseCompoundCommand
    n1 = self.ParseBraceGroup()
  File "/home/uke/oil/osh/cmd_parse.py", line 1365, in ParseBraceGroup
    c_list = self._ParseCommandList()
  File "/home/uke/oil/osh/cmd_parse.py", line 2823, in _ParseCommandList
    return self._ParseCommandTerm()
  File "/home/uke/oil/osh/cmd_parse.py", line 2760, in _ParseCommandTerm
    child = self.ParseAndOr()
  File "/home/uke/oil/osh/cmd_parse.py", line 2619, in ParseAndOr
    return self._ParseAndOr()
  File "/home/uke/oil/osh/cmd_parse.py", line 2630, in _ParseAndOr
    child = self.ParsePipeline()
  File "/home/uke/oil/osh/cmd_parse.py", line 2578, in ParsePipeline
    child = self.ParseCommand()
  File "/home/uke/oil/osh/cmd_parse.py", line 2554, in ParseCommand
    return self.ParseSimpleCommand()
  File "/home/uke/oil/osh/cmd_parse.py", line 1222, in ParseSimpleCommand
    redirects, words, typed_args, block = self._ScanSimpleCommand()
  File "/home/uke/oil/osh/cmd_parse.py", line 904, in _ScanSimpleCommand
    self._GetWord()
  File "/home/uke/oil/osh/cmd_parse.py", line 680, in _GetWord
    self.arena)
  File "/home/uke/oil/osh/cmd_parse.py", line 203, in _ParseHereDocBody
    w_parser.ReadHereDocBody(h.stdin_parts)  # fills this in
  File "/home/uke/oil/osh/word_parse.py", line 2347, in ReadHereDocBody
    self._ReadLikeDQ(None, False, parts)
  File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ
    elif self.token_type == Id.Lit_EscapedDoubleQuote:
AttributeError: type object 'Id' has no attribute 'Lit_EscapedDoubleQuote'
osh16 Here doc greater than 4096 bytes

[osh stdout] Expected '2002 big-here.sh\n2000\n' Got '2002 big-here.sh\n'
[osh stderr] Expected '| here doc 12345\n| command 12345: wc -l\n; process 12345: status 0\n; process 12345: status 0\n' Got 'Traceback (most recent call last):\n File "/home/uke/oil/bin/oils_for_unix.py", line 12345, in <module>\n sys.exit(main(sys.argv))\n File "/home/uke/oil/bin/oils_for_unix.py", line 12345, in main\n return AppBundleMain(argv)\n File "/home/uke/oil/bin/oils_for_unix.py", line 12345, in AppBundleMain\n bash_compat=(applet == \'bash\'))\n File "/home/uke/oil/core/shell.py", line 12345, in Main\n cmd_flags=cmd_eval.IsMainProgram)\n File "/home/uke/oil/core/main_loop.py", line 12345, in Batch\n was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)\n File "/home/uke/oil/core/main_loop.py", line 12345, in Batch2\n node = c_parser.ParseLogicalLine() # can raise ParseError\n File "/home/uke/oil/osh/cmd_parse.py", line 12345, in ParseLogicalLine\n node = self._ParseCommandLine()\n File "/home/uke/oil/osh/cmd_parse.py", line 12345, in _ParseCommandLine\n child = self.ParseAndOr()\n File "/home/uke/oil/osh/cmd_parse.py", line 12345, in ParseAndOr\n return self._ParseAndOr()\n File "/home/uke/oil/osh/cmd_parse.py", line 12345, in _ParseAndOr\n child = self.ParsePipeline()\n File "/home/uke/oil/osh/cmd_parse.py", line 12345, in ParsePipeline\n child = self.ParseCommand()\n File "/home/uke/oil/osh/cmd_parse.py", line 12345, in ParseCommand\n return self.ParseSimpleCommand()\n File "/home/uke/oil/osh/cmd_parse.py", line 12345, in ParseSimpleCommand\n redirects, words, typed_args, block = self._ScanSimpleCommand()\n File "/home/uke/oil/osh/cmd_parse.py", line 12345, in _ScanSimpleCommand\n self._GetWord()\n File "/home/uke/oil/osh/cmd_parse.py", line 12345, in _GetWord\n self.arena)\n File "/home/uke/oil/osh/cmd_parse.py", line 12345, in _ParseHereDocBody\n w_parser.ReadHereDocBody(h.stdin_parts) # fills this in\n File "/home/uke/oil/osh/word_parse.py", line 12345, in ReadHereDocBody\n self._ReadLikeDQ(None, False, parts)\n File "/home/uke/oil/osh/word_parse.py", line 12345, in _ReadLikeDQ\n elif self.token_type == Id.Lit_EscapedDoubleQuote:\nAttributeError: type object \'Id\' has no attribute \'Lit_EscapedDoubleQuote\'\n'
[osh stderr] Found 'Traceback (most recent'

stdout:
2002 big-here.sh
stderr:
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 12345, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 12345, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 12345, in AppBundleMain
    bash_compat=(applet == 'bash'))
  File "/home/uke/oil/core/shell.py", line 12345, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 12345, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 12345, in Batch2
    node = c_parser.ParseLogicalLine()  # can raise ParseError
  File "/home/uke/oil/osh/cmd_parse.py", line 12345, in ParseLogicalLine
    node = self._ParseCommandLine()
  File "/home/uke/oil/osh/cmd_parse.py", line 12345, in _ParseCommandLine
    child = self.ParseAndOr()
  File "/home/uke/oil/osh/cmd_parse.py", line 12345, in ParseAndOr
    return self._ParseAndOr()
  File "/home/uke/oil/osh/cmd_parse.py", line 12345, in _ParseAndOr
    child = self.ParsePipeline()
  File "/home/uke/oil/osh/cmd_parse.py", line 12345, in ParsePipeline
    child = self.ParseCommand()
  File "/home/uke/oil/osh/cmd_parse.py", line 12345, in ParseCommand
    return self.ParseSimpleCommand()
  File "/home/uke/oil/osh/cmd_parse.py", line 12345, in ParseSimpleCommand
    redirects, words, typed_args, block = self._ScanSimpleCommand()
  File "/home/uke/oil/osh/cmd_parse.py", line 12345, in _ScanSimpleCommand
    self._GetWord()
  File "/home/uke/oil/osh/cmd_parse.py", line 12345, in _GetWord
    self.arena)
  File "/home/uke/oil/osh/cmd_parse.py", line 12345, in _ParseHereDocBody
    w_parser.ReadHereDocBody(h.stdin_parts)  # fills this in
  File "/home/uke/oil/osh/word_parse.py", line 12345, in ReadHereDocBody
    self._ReadLikeDQ(None, False, parts)
  File "/home/uke/oil/osh/word_parse.py", line 12345, in _ReadLikeDQ
    elif self.token_type == Id.Lit_EscapedDoubleQuote:
AttributeError: type object 'Id' has no attribute 'Lit_EscapedDoubleQuote'
osh17 Control Flow

[osh stdout] Expected '1\n2\na y\na z\nb y\nb z\n' Got ''
[osh stderr] Expected '. builtin echo 1\n. builtin echo 2\n+ break 1\n. builtin echo a y\n+ continue 1\n. builtin echo a z\n. builtin echo b y\n+ continue 1\n. builtin echo b z\n> proc zero\n + return 0\n< proc zero\n' Got 'Traceback (most recent call last):\n File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>\n sys.exit(main(sys.argv))\n File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main\n return AppBundleMain(argv)\n File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain\n bash_compat=(applet == \'bash\'))\n File "/home/uke/oil/core/shell.py", line 1296, in Main\n cmd_flags=cmd_eval.IsMainProgram)\n File "/home/uke/oil/core/main_loop.py", line 336, in Batch\n was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)\n File "/home/uke/oil/core/main_loop.py", line 401, in Batch2\n is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch\n status = self._Execute(node)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 2051, in _Dispatch\n status = self._DoForEach(node)\n File "/home/uke/oil/osh/cmd_eval.py", line 1549, in _DoForEach\n status = self._Execute(node.body) # last one wins\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 2010, in _Dispatch\n status = self._ExecuteList(node.children)\n File "/home/uke/oil/osh/cmd_eval.py", line 2241, in _ExecuteList\n status = self._Execute(child)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch\n status = self._DoSimple(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple\n status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/executor.py", line 577, in _RunSimpleCommand\n return self.RunBuiltin(builtin_id, cmd_val)\n File "/home/uke/oil/core/vm.py", line 264, in RunBuiltin\n self.tracer.OnBuiltin(builtin_id, cmd_val.argv)\n File "/home/uke/oil/core/dev.py", line 643, in OnBuiltin\n buf = self._RichTraceBegin(\'.\')\n File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin\n prefix = self._EvalPS4(punct)\n File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4\n ps4_word = w_parser.ReadForPlugin()\n File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin\n self._ReadLikeDQ(None, False, w.parts)\n File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ\n elif self.token_type == Id.Lit_EscapedDoubleQuote:\nAttributeError: type object \'Id\' has no attribute \'Lit_EscapedDoubleQuote\'\n'
[osh status] Expected 0 Got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain
    bash_compat=(applet == 'bash'))
  File "/home/uke/oil/core/shell.py", line 1296, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 2051, in _Dispatch
    status = self._DoForEach(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1549, in _DoForEach
    status = self._Execute(node.body)  # last one wins
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 2010, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/uke/oil/osh/cmd_eval.py", line 2241, in _ExecuteList
    status = self._Execute(child)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/executor.py", line 577, in _RunSimpleCommand
    return self.RunBuiltin(builtin_id, cmd_val)
  File "/home/uke/oil/core/vm.py", line 264, in RunBuiltin
    self.tracer.OnBuiltin(builtin_id, cmd_val.argv)
  File "/home/uke/oil/core/dev.py", line 643, in OnBuiltin
    buf = self._RichTraceBegin('.')
  File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin
    prefix = self._EvalPS4(punct)
  File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4
    ps4_word = w_parser.ReadForPlugin()
  File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin
    self._ReadLikeDQ(None, False, w.parts)
  File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ
    elif self.token_type == Id.Lit_EscapedDoubleQuote:
AttributeError: type object 'Id' has no attribute 'Lit_EscapedDoubleQuote'
osh18 use builtin and invokable module

[osh stdout] Expected '[for-xtrace]\ncounter = 5\n\n[for-xtrace]\ncounter = 5\ncounter = 6\n' Got ''
[osh stderr] Expected "> source for-xtrace.ysh\n . builtin echo '[for-xtrace]'\n > proc increment\n . builtin echo 'counter = 5'\n < proc increment\n< source for-xtrace.ysh\n. builtin echo\n> use for-xtrace.ysh\n . builtin echo '[for-xtrace]'\n > proc increment\n . builtin echo 'counter = 5'\n < proc increment\n< use for-xtrace.ysh\n> module-invoke for-xtrace increment foo bar\n . builtin echo 'counter = 6'\n< module-invoke for-xtrace\n" Got 'Traceback (most recent call last):\n File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>\n sys.exit(main(sys.argv))\n File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main\n return AppBundleMain(argv)\n File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain\n bash_compat=(applet == \'bash\'))\n File "/home/uke/oil/core/shell.py", line 1296, in Main\n cmd_flags=cmd_eval.IsMainProgram)\n File "/home/uke/oil/core/main_loop.py", line 336, in Batch\n was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)\n File "/home/uke/oil/core/main_loop.py", line 401, in Batch2\n is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch\n status = self._Execute(node)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch\n status = self._DoSimple(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple\n status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/executor.py", line 577, in _RunSimpleCommand\n return self.RunBuiltin(builtin_id, cmd_val)\n File "/home/uke/oil/core/vm.py", line 266, in RunBuiltin\n return self._RunBuiltinProc(builtin_proc, cmd_val)\n File "/home/uke/oil/core/vm.py", line 276, in _RunBuiltinProc\n status = builtin_proc.Run(cmd_val)\n File "/home/uke/oil/builtin/meta_oils.py", line 177, in Run\n return self._Source(cmd_val)\n File "/home/uke/oil/builtin/meta_oils.py", line 329, in _Source\n return self._SourceExec(cmd_val, arg_r, path_arg, c_parser)\n File "/home/uke/oil/builtin/meta_oils.py", line 220, in _SourceExec\n with dev.ctx_Tracer(self.tracer, \'source\', cmd_val.argv):\n File "/home/uke/oil/core/dev.py", line 183, in __init__\n tracer.PushMessage(label, argv)\n File "/home/uke/oil/core/dev.py", line 584, in PushMessage\n buf = self._RichTraceBegin(\'>\')\n File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin\n prefix = self._EvalPS4(punct)\n File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4\n ps4_word = w_parser.ReadForPlugin()\n File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin\n self._ReadLikeDQ(None, False, w.parts)\n File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ\n elif self.token_type == Id.Lit_EscapedDoubleQuote:\nAttributeError: type object \'Id\' has no attribute \'Lit_EscapedDoubleQuote\'\n'
[osh status] Expected 0 Got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain
    bash_compat=(applet == 'bash'))
  File "/home/uke/oil/core/shell.py", line 1296, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/executor.py", line 577, in _RunSimpleCommand
    return self.RunBuiltin(builtin_id, cmd_val)
  File "/home/uke/oil/core/vm.py", line 266, in RunBuiltin
    return self._RunBuiltinProc(builtin_proc, cmd_val)
  File "/home/uke/oil/core/vm.py", line 276, in _RunBuiltinProc
    status = builtin_proc.Run(cmd_val)
  File "/home/uke/oil/builtin/meta_oils.py", line 177, in Run
    return self._Source(cmd_val)
  File "/home/uke/oil/builtin/meta_oils.py", line 329, in _Source
    return self._SourceExec(cmd_val, arg_r, path_arg, c_parser)
  File "/home/uke/oil/builtin/meta_oils.py", line 220, in _SourceExec
    with dev.ctx_Tracer(self.tracer, 'source', cmd_val.argv):
  File "/home/uke/oil/core/dev.py", line 183, in __init__
    tracer.PushMessage(label, argv)
  File "/home/uke/oil/core/dev.py", line 584, in PushMessage
    buf = self._RichTraceBegin('>')
  File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin
    prefix = self._EvalPS4(punct)
  File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4
    ps4_word = w_parser.ReadForPlugin()
  File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin
    self._ReadLikeDQ(None, False, w.parts)
  File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ
    elif self.token_type == Id.Lit_EscapedDoubleQuote:
AttributeError: type object 'Id' has no attribute 'Lit_EscapedDoubleQuote'
osh19 Encoded argv uses shell encoding, not J8

[osh stdout] Expected 'one two\n \xce\xbc\n' Got ''
[osh stderr] Expected ". builtin echo $'one two\\n' '\xce\xbc'\n" Got 'Traceback (most recent call last):\n File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>\n sys.exit(main(sys.argv))\n File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main\n return AppBundleMain(argv)\n File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain\n bash_compat=(applet == \'bash\'))\n File "/home/uke/oil/core/shell.py", line 1296, in Main\n cmd_flags=cmd_eval.IsMainProgram)\n File "/home/uke/oil/core/main_loop.py", line 336, in Batch\n was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)\n File "/home/uke/oil/core/main_loop.py", line 401, in Batch2\n is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch\n status = self._Execute(node)\n File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute\n status = self._Dispatch(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch\n status = self._DoSimple(node, cmd_st)\n File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple\n status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)\n File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand\n run_flags)\n File "/home/uke/oil/core/executor.py", line 577, in _RunSimpleCommand\n return self.RunBuiltin(builtin_id, cmd_val)\n File "/home/uke/oil/core/vm.py", line 264, in RunBuiltin\n self.tracer.OnBuiltin(builtin_id, cmd_val.argv)\n File "/home/uke/oil/core/dev.py", line 643, in OnBuiltin\n buf = self._RichTraceBegin(\'.\')\n File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin\n prefix = self._EvalPS4(punct)\n File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4\n ps4_word = w_parser.ReadForPlugin()\n File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin\n self._ReadLikeDQ(None, False, w.parts)\n File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ\n elif self.token_type == Id.Lit_EscapedDoubleQuote:\nAttributeError: type object \'Id\' has no attribute \'Lit_EscapedDoubleQuote\'\n'
[osh status] Expected 0 Got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 263, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 232, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 198, in AppBundleMain
    bash_compat=(applet == 'bash'))
  File "/home/uke/oil/core/shell.py", line 1296, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2365, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 2164, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1891, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1153, in _DoSimple
    status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 766, in _RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/vm.py", line 235, in RunSimpleCommand
    run_flags)
  File "/home/uke/oil/core/executor.py", line 577, in _RunSimpleCommand
    return self.RunBuiltin(builtin_id, cmd_val)
  File "/home/uke/oil/core/vm.py", line 264, in RunBuiltin
    self.tracer.OnBuiltin(builtin_id, cmd_val.argv)
  File "/home/uke/oil/core/dev.py", line 643, in OnBuiltin
    buf = self._RichTraceBegin('.')
  File "/home/uke/oil/core/dev.py", line 510, in _RichTraceBegin
    prefix = self._EvalPS4(punct)
  File "/home/uke/oil/core/dev.py", line 454, in _EvalPS4
    ps4_word = w_parser.ReadForPlugin()
  File "/home/uke/oil/osh/word_parse.py", line 2358, in ReadForPlugin
    self._ReadLikeDQ(None, False, w.parts)
  File "/home/uke/oil/osh/word_parse.py", line 1100, in _ReadLikeDQ
    elif self.token_type == Id.Lit_EscapedDoubleQuote:
AttributeError: type object 'Id' has no attribute 'Lit_EscapedDoubleQuote'