Results for ysh-proc-meta.test.sh

statusysh
pass 6
FAIL 1
total7
caseyshdescription
0pass with eval builtin command, in global scope
1pass with eval builtin command, in local scope
2pass with eval builtin command, making them global with names() and setVar()
3FAIL with parseCommand() then io->eval(), in local scope
details
4pass with parseCommand() then io->eval(cmd, vars={out_dict: {}})
5pass with evalToDict()
6pass with runtime REFLECTION via __invoke__ - no parsing
6 passed, 0 OK, 0 not implemented, 0 BUG, 1 failed, 0 timeouts, 0 cases skipped
1 failed under osh

Details on runs that didn't PASS

ysh3 with parseCommand() then io->eval(), in local scope

[ysh stdout] Expected 'prefix a\nprefix b\n', got '(value.Command\n frag:(cmd_frag.Expr\n c:(Proc\n keyword:(Token\n id:KW_Proc\n length:4\n col:0\n line:(SourceLine\n line_num:1\n content:"proc echo_a(prefix) {\\n"\n src:(source.Dynamic\n what:"parseCommand()"\n location:(Token\n id:Op_LParen\n length:1\n col:26\n line:(SourceLine\n line_num:9\n content:" var cmd = parseCommand(s)\\n"\n src:(source.Stdin comment:"")\n )\n )\n )\n )\n )\n name:(Token id:Lit_Chars length:6 col:5 line:...0x7f227574a998)\n sig:(proc_sig.Closed\n word:(ParamGroup\n params:[\n (Param\n blame_tok:(Token\n id:Expr_Name\n length:6\n col:12\n line:...0x7f227574a998\n )\n name:prefix\n )\n ]\n )\n )\n body:(BraceGroup\n left:(Token id:Lit_LBrace length:1 col:20 line:...0x7f227574a998)\n children:[\n (command.Simple\n blame_tok:(Token\n id:Lit_Chars\n length:4\n col:2\n line:(SourceLine\n line_num:2\n content:" echo $prefix a\\n"\n src:...0x7f22753e7280\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f22753e4460])\n (CompoundWord\n parts:[\n (SimpleVarSub\n tok:(Token\n id:VSub_DollarName\n length:7\n col:7\n line:...0x7f227574aaf8\n )\n )\n ]\n )\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:1 col:15 line:...0x7f227574aaf8)\n ]\n )\n ]\n is_last_cmd:F\n )\n ]\n right:(Token\n id:Lit_RBrace\n length:1\n col:0\n line:(SourceLine line_num:3 content:"}\\n" src:...0x7f22753e7280)\n )\n )\n )\n )\n captured_frame:{\n ARGV\n (Cell exported:F readonly:F nameref:F val:(value.List items:[]))\n result\n (Cell exported:F readonly:F nameref:F val:(value.Dict d:{}))\n param\n (Cell exported:F readonly:F nameref:F val:(value.Str s:a))\n s\n (Cell\n exported:F\n readonly:F\n nameref:F\n val:(value.Str s:"proc echo_a(prefix) {\\n echo $prefix a\\n}\\n")\n )\n cmd\n (Cell exported:F readonly:F nameref:F val:...0x7f227574ab50)\n }\n module_frame:{\n ARGV\n (Cell exported:F readonly:F nameref:F val:(value.List items:[]))\n ENV\n (Cell\n exported:F\n readonly:F\n nameref:F\n val:(Obj\n d:{\n TMP\n (value.Str\n s:/home/uke/oil/_tmp/spec-tmp/ysh-proc-meta.test.sh.41411/03-ysh\n )\n REPO_ROOT\n (value.Str s:/home/uke/oil)\n PYTHONPATH\n (value.Str s:"/home/uke/oil:/home/uke/oil/vendor")\n PWD\n (value.Str\n s:/home/uke/oil/_tmp/spec-tmp/ysh-proc-meta.test.sh.41411/03-ysh\n )\n SH\n (value.Str s:/home/uke/oil/bin/ysh)\n LC_ALL\n (value.Str s:C.UTF-8)\n PATH\n (value.Str\n s:"/home/uke/oil/test/../spec/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"\n )\n LOCALE_ARCHIVE\n (value.Str s:"")\n OILS_GC_ON_EXIT\n (value.Str s:"")\n }\n )\n )\n UID\n (Cell exported:F readonly:F nameref:F val:(value.Str s:1000))\n EUID\n (Cell exported:F readonly:F nameref:F val:(value.Str s:1000))\n PPID\n (Cell exported:F readonly:F nameref:F val:(value.Str s:41417))\n OPTIND\n (Cell exported:F readonly:F nameref:F val:(value.Str s:1))\n IFS\n (Cell exported:F readonly:F nameref:F val:(value.Str s:" \\t\\n"))\n HOSTNAME\n (Cell exported:F readonly:F nameref:F val:(value.Str s:ecc6202e67a1))\n OSTYPE\n (Cell exported:F readonly:F nameref:F val:(value.Str s:linux))\n PS4\n (Cell\n exported:F\n readonly:F\n nameref:F\n val:(value.Str s:"${SHX_indent}${SHX_punct}${SHX_pid_str} ")\n )\n COMP_WORDBREAKS\n (Cell exported:F readonly:F nameref:F val:(value.Str s:" \\t\\n\\"\'><=;|&(:"))\n p\n (Cell\n exported:F\n readonly:F\n nameref:F\n val:(value.Proc\n name:p\n name_tok:(Token\n id:Lit_Chars\n length:1\n col:5\n line:(SourceLine\n line_num:1\n content:"proc p {\\n"\n src:...0x7f2275443440\n )\n )\n sig:(proc_sig.Open)\n body:(BraceGroup\n left:(Token id:Lit_LBrace length:1 col:7 line:...0x7f227574a158)\n children:[\n (command.VarDecl\n keyword:(Token\n id:KW_Var\n length:3\n col:2\n line:(SourceLine\n line_num:2\n content:" var result = {}\\n"\n src:...0x7f2275443440\n )\n )\n lhs:[\n (NameType\n left:(Token\n id:Expr_Name\n length:6\n col:6\n line:...0x7f227574a1b0\n )\n name:result\n )\n ]\n rhs:(expr.Dict\n left:(Token id:Op_LBrace length:1 col:15 line:...0x7f227574a1b0)\n keys:[]\n values:[]\n )\n )\n (command.ForEach\n keyword:(Token\n id:KW_For\n length:3\n col:2\n line:(SourceLine\n line_num:3\n content:" for param in a b {\\n"\n src:...0x7f2275443440\n )\n )\n iter_names:[param]\n iterable:(for_iter.Words\n words:[\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:1\n col:15\n line:...0x7f227574a310\n tval:a\n )\n ]\n )\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:1\n col:17\n line:...0x7f227574a310\n tval:b\n )\n ]\n )\n ]\n )\n body:(BraceGroup\n left:(Token\n id:Lit_LBrace\n length:1\n col:19\n line:...0x7f227574a310\n )\n children:[\n (command.VarDecl\n keyword:(Token\n id:KW_Var\n length:3\n col:4\n line:(SourceLine\n line_num:4\n content:" var s = \\"\\"\\"\\n"\n src:...0x7f2275443440\n )\n )\n lhs:[\n (NameType\n left:(Token\n id:Expr_Name\n length:1\n col:8\n line:...0x7f227574a368\n )\n name:s\n )\n ]\n rhs:(DoubleQuoted\n left:(Token\n id:Left_TDoubleQuote\n length:3\n col:12\n line:...0x7f227574a368\n )\n parts:[\n (Token\n id:Lit_CharsWithoutPrefix\n length:10\n col:4\n line:(SourceLine\n line_num:5\n content:" proc echo_$param(prefix) {\\n"\n src:...0x7f2275443440\n )\n tval:"proc echo_"\n )\n (SimpleVarSub\n tok:(Token\n id:VSub_DollarName\n length:6\n col:14\n line:...0x7f227574a3c0\n tval:param\n )\n )\n (Token\n id:Lit_Chars\n length:11\n col:20\n line:...0x7f227574a3c0\n tval:"(prefix) {\\n"\n )\n (Token\n id:Lit_CharsWithoutPrefix\n length:7\n col:4\n line:(SourceLine\n line_num:6\n content:" echo \\\\$prefix $param\\n"\n src:...0x7f2275443440\n )\n tval:" echo "\n )\n (word_part.EscapedLiteral\n token:(Token\n id:Lit_EscapedChar\n length:2\n col:11\n line:...0x7f227574a418\n )\n ch:"$"\n )\n (Token\n id:Lit_Chars\n length:7\n col:13\n line:...0x7f227574a418\n tval:"prefix "\n )\n (SimpleVarSub\n tok:(Token\n id:VSub_DollarName\n length:6\n col:20\n line:...0x7f227574a418\n tval:param\n )\n )\n (Token\n id:Lit_Chars\n length:1\n col:26\n line:...0x7f227574a418\n tval:"\\n"\n )\n (Token\n id:Lit_CharsWithoutPrefix\n length:2\n col:4\n line:(SourceLine\n line_num:7\n content:" }\\n"\n src:...0x7f2275443440\n )\n tval:"}\\n"\n )\n ]\n right:(Token\n id:Right_DoubleQuote\n length:1\n col:6\n line:(SourceLine\n line_num:8\n content:" \\"\\"\\"\\n"\n src:...0x7f2275443440\n )\n )\n )\n )\n (command.VarDecl\n keyword:(Token\n id:KW_Var\n length:3\n col:4\n line:...0x7f227574a628\n )\n lhs:[\n (NameType\n left:(Token\n id:Expr_Name\n length:3\n col:8\n line:...0x7f227574a628\n )\n name:cmd\n )\n ]\n rhs:(expr.FuncCall\n func:(expr.Var\n left:(Token\n id:Expr_Name\n length:12\n col:14\n line:...0x7f227574a628\n )\n name:parseCommand\n )\n args:(ArgList\n left:...0x7f227545a050\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:1\n col:27\n line:...0x7f227574a628\n )\n name:s\n )\n ]\n named_args:[]\n right:(Token\n id:Op_RParen\n length:1\n col:28\n line:...0x7f227574a628\n )\n )\n )\n )\n (command.Simple\n blame_tok:(Token\n id:Lit_Chars\n length:2\n col:4\n line:(SourceLine\n line_num:10\n content:" pp asdl_ (cmd)\\n"\n src:...0x7f2275443440\n )\n tval:pp\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f227545a0b8])\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:5\n col:7\n line:...0x7f227574a730\n tval:asdl_\n )\n ]\n )\n ]\n typed_args:(ArgList\n left:(Token\n id:Op_LParen\n length:1\n col:13\n line:...0x7f227574a730\n )\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:3\n col:14\n line:...0x7f227574a730\n )\n name:cmd\n )\n ]\n named_args:[]\n right:(Token\n id:Op_RParen\n length:1\n col:17\n line:...0x7f227574a730\n )\n )\n is_last_cmd:F\n )\n (command.Expr\n keyword:(Token\n id:KW_Call\n length:4\n col:4\n line:(SourceLine\n line_num:13\n content:" call io->eval(cmd)\\n"\n src:...0x7f2275443440\n )\n )\n e:(expr.FuncCall\n func:(Attribute\n obj:(expr.Var\n left:(Token\n id:Expr_Name\n length:2\n col:9\n line:...0x7f227574a838\n )\n name:io\n )\n op:(Token\n id:Expr_RArrow\n length:2\n col:11\n line:...0x7f227574a838\n )\n attr:(Token\n id:Expr_Name\n length:4\n col:13\n line:...0x7f227574a838\n )\n attr_name:eval\n ctx:expr_context.Store\n )\n args:(ArgList\n left:(Token\n id:Op_LParen\n length:1\n col:17\n line:...0x7f227574a838\n )\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:3\n col:18\n line:...0x7f227574a838\n )\n name:cmd\n )\n ]\n named_args:[]\n right:(Token\n id:Op_RParen\n length:1\n col:21\n line:...0x7f227574a838\n )\n )\n )\n )\n (command.Simple\n blame_tok:(Token\n id:Lit_Chars\n length:6\n col:4\n line:(SourceLine\n line_num:15\n content:" echo_a zz\\n"\n src:...0x7f2275443440\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f227545a940])\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:2\n col:11\n line:...0x7f227574a8e8\n )\n ]\n )\n ]\n is_last_cmd:F\n )\n ]\n right:(Token\n id:Lit_RBrace\n length:1\n col:2\n line:(SourceLine\n line_num:16\n content:" }\\n"\n src:...0x7f2275443440\n )\n )\n )\n )\n (command.Simple\n blame_tok:(Token\n id:Lit_Chars\n length:6\n col:2\n line:(SourceLine\n line_num:18\n content:" echo_a prefix\\n"\n src:...0x7f2275443440\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f227571dd50])\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:6 col:9 line:...0x7f227574a9f0)\n ]\n )\n ]\n is_last_cmd:F\n )\n (command.Simple\n blame_tok:(Token\n id:Lit_Chars\n length:6\n col:2\n line:(SourceLine\n line_num:19\n content:" echo_b prefix\\n"\n src:...0x7f2275443440\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f227545ae20])\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:6 col:9 line:...0x7f227574aa48)\n ]\n )\n ]\n is_last_cmd:F\n )\n ]\n right:(Token\n id:Lit_RBrace\n length:1\n col:0\n line:(SourceLine line_num:20 content:"}\\n" src:...0x7f2275443440)\n )\n )\n sh_compat:F\n module_frame:{\n ARGV\n ...0x7f227579ae30\n ENV\n ...0x7f227579aef0\n UID\n ...0x7f227579af50\n EUID\n ...0x7f227579afb0\n PPID\n ...0x7f2275461050\n OPTIND\n ...0x7f22754610b0\n IFS\n ...0x7f2275461110\n HOSTNAME\n ...0x7f2275461170\n OSTYPE\n ...0x7f22754611d0\n PS4\n ...0x7f2275461230\n COMP_WORDBREAKS\n ...0x7f2275461290\n p\n ...0x7f2275461410\n }\n )\n )\n }\n)\n'

stdout:
(value.Command
  frag:(cmd_frag.Expr
    c:(Proc
      keyword:(Token
        id:KW_Proc
        length:4
        col:0
        line:(SourceLine
          line_num:1
          content:"proc echo_a(prefix) {\n"
          src:(source.Dynamic
            what:"parseCommand()"
            location:(Token
              id:Op_LParen
              length:1
              col:26
              line:(SourceLine
                line_num:9
                content:"    var cmd = parseCommand(s)\n"
                src:(source.Stdin comment:"")
              )
            )
          )
        )
      )
      name:(Token id:Lit_Chars length:6 col:5 line:...0x7f227574a998)
      sig:(proc_sig.Closed
        word:(ParamGroup
          params:[
            (Param
              blame_tok:(Token
                id:Expr_Name
                length:6
                col:12
                line:...0x7f227574a998
              )
              name:prefix
            )
          ]
        )
      )
      body:(BraceGroup
        left:(Token id:Lit_LBrace length:1 col:20 line:...0x7f227574a998)
        children:[
          (command.Simple
            blame_tok:(Token
              id:Lit_Chars
              length:4
              col:2
              line:(SourceLine
                line_num:2
                content:"  echo $prefix a\n"
                src:...0x7f22753e7280
              )
            )
            more_env:[]
            words:[
              (CompoundWord parts:[...0x7f22753e4460])
              (CompoundWord
                parts:[
                  (SimpleVarSub
                    tok:(Token
                      id:VSub_DollarName
                      length:7
                      col:7
                      line:...0x7f227574aaf8
                    )
                  )
                ]
              )
              (CompoundWord
                parts:[
                  (Token id:Lit_Chars length:1 col:15 line:...0x7f227574aaf8)
                ]
              )
            ]
            is_last_cmd:F
          )
        ]
        right:(Token
          id:Lit_RBrace
          length:1
          col:0
          line:(SourceLine line_num:3 content:"}\n" src:...0x7f22753e7280)
        )
      )
    )
  )
  captured_frame:{
    ARGV
    (Cell exported:F readonly:F nameref:F val:(value.List items:[]))
    result
    (Cell exported:F readonly:F nameref:F val:(value.Dict d:{}))
    param
    (Cell exported:F readonly:F nameref:F val:(value.Str s:a))
    s
    (Cell
      exported:F
      readonly:F
      nameref:F
      val:(value.Str s:"proc echo_a(prefix) {\n  echo $prefix a\n}\n")
    )
    cmd
    (Cell exported:F readonly:F nameref:F val:...0x7f227574ab50)
  }
  module_frame:{
    ARGV
    (Cell exported:F readonly:F nameref:F val:(value.List items:[]))
    ENV
    (Cell
      exported:F
      readonly:F
      nameref:F
      val:(Obj
        d:{
          TMP
          (value.Str
            s:/home/uke/oil/_tmp/spec-tmp/ysh-proc-meta.test.sh.41411/03-ysh
          )
          REPO_ROOT
          (value.Str s:/home/uke/oil)
          PYTHONPATH
          (value.Str s:"/home/uke/oil:/home/uke/oil/vendor")
          PWD
          (value.Str
            s:/home/uke/oil/_tmp/spec-tmp/ysh-proc-meta.test.sh.41411/03-ysh
          )
          SH
          (value.Str s:/home/uke/oil/bin/ysh)
          LC_ALL
          (value.Str s:C.UTF-8)
          PATH
          (value.Str
            s:"/home/uke/oil/test/../spec/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
          )
          LOCALE_ARCHIVE
          (value.Str s:"")
          OILS_GC_ON_EXIT
          (value.Str s:"")
        }
      )
    )
    UID
    (Cell exported:F readonly:F nameref:F val:(value.Str s:1000))
    EUID
    (Cell exported:F readonly:F nameref:F val:(value.Str s:1000))
    PPID
    (Cell exported:F readonly:F nameref:F val:(value.Str s:41417))
    OPTIND
    (Cell exported:F readonly:F nameref:F val:(value.Str s:1))
    IFS
    (Cell exported:F readonly:F nameref:F val:(value.Str s:" \t\n"))
    HOSTNAME
    (Cell exported:F readonly:F nameref:F val:(value.Str s:ecc6202e67a1))
    OSTYPE
    (Cell exported:F readonly:F nameref:F val:(value.Str s:linux))
    PS4
    (Cell
      exported:F
      readonly:F
      nameref:F
      val:(value.Str s:"${SHX_indent}${SHX_punct}${SHX_pid_str} ")
    )
    COMP_WORDBREAKS
    (Cell exported:F readonly:F nameref:F val:(value.Str s:" \t\n\"'><=;|&(:"))
    p
    (Cell
      exported:F
      readonly:F
      nameref:F
      val:(value.Proc
        name:p
        name_tok:(Token
          id:Lit_Chars
          length:1
          col:5
          line:(SourceLine
            line_num:1
            content:"proc p {\n"
            src:...0x7f2275443440
          )
        )
        sig:(proc_sig.Open)
        body:(BraceGroup
          left:(Token id:Lit_LBrace length:1 col:7 line:...0x7f227574a158)
          children:[
            (command.VarDecl
              keyword:(Token
                id:KW_Var
                length:3
                col:2
                line:(SourceLine
                  line_num:2
                  content:"  var result = {}\n"
                  src:...0x7f2275443440
                )
              )
              lhs:[
                (NameType
                  left:(Token
                    id:Expr_Name
                    length:6
                    col:6
                    line:...0x7f227574a1b0
                  )
                  name:result
                )
              ]
              rhs:(expr.Dict
                left:(Token id:Op_LBrace length:1 col:15 line:...0x7f227574a1b0)
                keys:[]
                values:[]
              )
            )
            (command.ForEach
              keyword:(Token
                id:KW_For
                length:3
                col:2
                line:(SourceLine
                  line_num:3
                  content:"  for param in a b {\n"
                  src:...0x7f2275443440
                )
              )
              iter_names:[param]
              iterable:(for_iter.Words
                words:[
                  (CompoundWord
                    parts:[
                      (Token
                        id:Lit_Chars
                        length:1
                        col:15
                        line:...0x7f227574a310
                        tval:a
                      )
                    ]
                  )
                  (CompoundWord
                    parts:[
                      (Token
                        id:Lit_Chars
                        length:1
                        col:17
                        line:...0x7f227574a310
                        tval:b
                      )
                    ]
                  )
                ]
              )
              body:(BraceGroup
                left:(Token
                  id:Lit_LBrace
                  length:1
                  col:19
                  line:...0x7f227574a310
                )
                children:[
                  (command.VarDecl
                    keyword:(Token
                      id:KW_Var
                      length:3
                      col:4
                      line:(SourceLine
                        line_num:4
                        content:"    var s = \"\"\"\n"
                        src:...0x7f2275443440
                      )
                    )
                    lhs:[
                      (NameType
                        left:(Token
                          id:Expr_Name
                          length:1
                          col:8
                          line:...0x7f227574a368
                        )
                        name:s
                      )
                    ]
                    rhs:(DoubleQuoted
                      left:(Token
                        id:Left_TDoubleQuote
                        length:3
                        col:12
                        line:...0x7f227574a368
                      )
                      parts:[
                        (Token
                          id:Lit_CharsWithoutPrefix
                          length:10
                          col:4
                          line:(SourceLine
                            line_num:5
                            content:"    proc echo_$param(prefix) {\n"
                            src:...0x7f2275443440
                          )
                          tval:"proc echo_"
                        )
                        (SimpleVarSub
                          tok:(Token
                            id:VSub_DollarName
                            length:6
                            col:14
                            line:...0x7f227574a3c0
                            tval:param
                          )
                        )
                        (Token
                          id:Lit_Chars
                          length:11
                          col:20
                          line:...0x7f227574a3c0
                          tval:"(prefix) {\n"
                        )
                        (Token
                          id:Lit_CharsWithoutPrefix
                          length:7
                          col:4
                          line:(SourceLine
                            line_num:6
                            content:"      echo \\$prefix $param\n"
                            src:...0x7f2275443440
                          )
                          tval:"  echo "
                        )
                        (word_part.EscapedLiteral
                          token:(Token
                            id:Lit_EscapedChar
                            length:2
                            col:11
                            line:...0x7f227574a418
                          )
                          ch:"$"
                        )
                        (Token
                          id:Lit_Chars
                          length:7
                          col:13
                          line:...0x7f227574a418
                          tval:"prefix "
                        )
                        (SimpleVarSub
                          tok:(Token
                            id:VSub_DollarName
                            length:6
                            col:20
                            line:...0x7f227574a418
                            tval:param
                          )
                        )
                        (Token
                          id:Lit_Chars
                          length:1
                          col:26
                          line:...0x7f227574a418
                          tval:"\n"
                        )
                        (Token
                          id:Lit_CharsWithoutPrefix
                          length:2
                          col:4
                          line:(SourceLine
                            line_num:7
                            content:"    }\n"
                            src:...0x7f2275443440
                          )
                          tval:"}\n"
                        )
                      ]
                      right:(Token
                        id:Right_DoubleQuote
                        length:1
                        col:6
                        line:(SourceLine
                          line_num:8
                          content:"    \"\"\"\n"
                          src:...0x7f2275443440
                        )
                      )
                    )
                  )
                  (command.VarDecl
                    keyword:(Token
                      id:KW_Var
                      length:3
                      col:4
                      line:...0x7f227574a628
                    )
                    lhs:[
                      (NameType
                        left:(Token
                          id:Expr_Name
                          length:3
                          col:8
                          line:...0x7f227574a628
                        )
                        name:cmd
                      )
                    ]
                    rhs:(expr.FuncCall
                      func:(expr.Var
                        left:(Token
                          id:Expr_Name
                          length:12
                          col:14
                          line:...0x7f227574a628
                        )
                        name:parseCommand
                      )
                      args:(ArgList
                        left:...0x7f227545a050
                        pos_args:[
                          (expr.Var
                            left:(Token
                              id:Expr_Name
                              length:1
                              col:27
                              line:...0x7f227574a628
                            )
                            name:s
                          )
                        ]
                        named_args:[]
                        right:(Token
                          id:Op_RParen
                          length:1
                          col:28
                          line:...0x7f227574a628
                        )
                      )
                    )
                  )
                  (command.Simple
                    blame_tok:(Token
                      id:Lit_Chars
                      length:2
                      col:4
                      line:(SourceLine
                        line_num:10
                        content:"    pp asdl_ (cmd)\n"
                        src:...0x7f2275443440
                      )
                      tval:pp
                    )
                    more_env:[]
                    words:[
                      (CompoundWord parts:[...0x7f227545a0b8])
                      (CompoundWord
                        parts:[
                          (Token
                            id:Lit_Chars
                            length:5
                            col:7
                            line:...0x7f227574a730
                            tval:asdl_
                          )
                        ]
                      )
                    ]
                    typed_args:(ArgList
                      left:(Token
                        id:Op_LParen
                        length:1
                        col:13
                        line:...0x7f227574a730
                      )
                      pos_args:[
                        (expr.Var
                          left:(Token
                            id:Expr_Name
                            length:3
                            col:14
                            line:...0x7f227574a730
                          )
                          name:cmd
                        )
                      ]
                      named_args:[]
                      right:(Token
                        id:Op_RParen
                        length:1
                        col:17
                        line:...0x7f227574a730
                      )
                    )
                    is_last_cmd:F
                  )
                  (command.Expr
                    keyword:(Token
                      id:KW_Call
                      length:4
                      col:4
                      line:(SourceLine
                        line_num:13
                        content:"    call io->eval(cmd)\n"
                        src:...0x7f2275443440
                      )
                    )
                    e:(expr.FuncCall
                      func:(Attribute
                        obj:(expr.Var
                          left:(Token
                            id:Expr_Name
                            length:2
                            col:9
                            line:...0x7f227574a838
                          )
                          name:io
                        )
                        op:(Token
                          id:Expr_RArrow
                          length:2
                          col:11
                          line:...0x7f227574a838
                        )
                        attr:(Token
                          id:Expr_Name
                          length:4
                          col:13
                          line:...0x7f227574a838
                        )
                        attr_name:eval
                        ctx:expr_context.Store
                      )
                      args:(ArgList
                        left:(Token
                          id:Op_LParen
                          length:1
                          col:17
                          line:...0x7f227574a838
                        )
                        pos_args:[
                          (expr.Var
                            left:(Token
                              id:Expr_Name
                              length:3
                              col:18
                              line:...0x7f227574a838
                            )
                            name:cmd
                          )
                        ]
                        named_args:[]
                        right:(Token
                          id:Op_RParen
                          length:1
                          col:21
                          line:...0x7f227574a838
                        )
                      )
                    )
                  )
                  (command.Simple
                    blame_tok:(Token
                      id:Lit_Chars
                      length:6
                      col:4
                      line:(SourceLine
                        line_num:15
                        content:"    echo_a zz\n"
                        src:...0x7f2275443440
                      )
                    )
                    more_env:[]
                    words:[
                      (CompoundWord parts:[...0x7f227545a940])
                      (CompoundWord
                        parts:[
                          (Token
                            id:Lit_Chars
                            length:2
                            col:11
                            line:...0x7f227574a8e8
                          )
                        ]
                      )
                    ]
                    is_last_cmd:F
                  )
                ]
                right:(Token
                  id:Lit_RBrace
                  length:1
                  col:2
                  line:(SourceLine
                    line_num:16
                    content:"  }\n"
                    src:...0x7f2275443440
                  )
                )
              )
            )
            (command.Simple
              blame_tok:(Token
                id:Lit_Chars
                length:6
                col:2
                line:(SourceLine
                  line_num:18
                  content:"  echo_a prefix\n"
                  src:...0x7f2275443440
                )
              )
              more_env:[]
              words:[
                (CompoundWord parts:[...0x7f227571dd50])
                (CompoundWord
                  parts:[
                    (Token id:Lit_Chars length:6 col:9 line:...0x7f227574a9f0)
                  ]
                )
              ]
              is_last_cmd:F
            )
            (command.Simple
              blame_tok:(Token
                id:Lit_Chars
                length:6
                col:2
                line:(SourceLine
                  line_num:19
                  content:"  echo_b prefix\n"
                  src:...0x7f2275443440
                )
              )
              more_env:[]
              words:[
                (CompoundWord parts:[...0x7f227545ae20])
                (CompoundWord
                  parts:[
                    (Token id:Lit_Chars length:6 col:9 line:...0x7f227574aa48)
                  ]
                )
              ]
              is_last_cmd:F
            )
          ]
          right:(Token
            id:Lit_RBrace
            length:1
            col:0
            line:(SourceLine line_num:20 content:"}\n" src:...0x7f2275443440)
          )
        )
        sh_compat:F
        module_frame:{
          ARGV
          ...0x7f227579ae30
          ENV
          ...0x7f227579aef0
          UID
          ...0x7f227579af50
          EUID
          ...0x7f227579afb0
          PPID
          ...0x7f2275461050
          OPTIND
          ...0x7f22754610b0
          IFS
          ...0x7f2275461110
          HOSTNAME
          ...0x7f2275461170
          OSTYPE
          ...0x7f22754611d0
          PS4
          ...0x7f2275461230
          COMP_WORDBREAKS
          ...0x7f2275461290
          p
          ...0x7f2275461410
        }
      )
    )
  }
)
stderr:
      echo_a zz
      ^~~~~~
[ stdin ]:15: 'echo_a' not found (OILS-ERR-100)
[ stdin ]:15: errexit PID 41427: command.Simple failed with status 127