(CommandList
  children: [
    (Sentence
      child: 
        (C {(.)} 
          {
            (DQ 
              (BracedVarSub
                token: <VSub_Name srcdir>
                suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(.)})
                spids: [47 51]
              ) (/tests/init.sh)
            )
          }
        )
      terminator: <Op_Semi ';'>
    )
    (C {(path_prepend_)} {(./src)})
    (C {(print_ver_)} {(ls)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:long_name)
          op: Equal
          rhs: {(zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.foo)}
          spids: [65]
        )
      ]
      spids: [65]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [(C {(touch)} {($ VSub_Name '$long_name')}) (C {(framework_failure_)})]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:e) op:Equal rhs:{(SQ <'\\33'>)} spids:[77])]
      spids: [77]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:color_code) op:Equal rhs:{(SQ <'0;31;42'>)} spids:[82])]
      spids: [82]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:c_pre)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$e') ('[0m') ($ VSub_Name '$e') ('[') (${ VSub_Name color_code) (m))}
          spids: [87]
        )
      ]
      spids: [87]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:c_post)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$e') ('[0m') ($ VSub_Name '$e') ('[K') (Lit_Other '\\') (n))}
          spids: [99]
        )
      ]
      spids: [99]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [
            {(printf)}
            {
              (DQ ($ VSub_Name '$c_pre') ($ VSub_Name '$long_name') ($ VSub_Name '$c_post') 
                (Lit_Other '\\') (n)
              )
            }
          ]
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(exp)} spids:[119])]
        )
        (C {(framework_failure_)})
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [
            {(env)}
            {(Lit_VarLike 'TERM=') (xterm)}
            {(Lit_VarLike 'COLUMNS=') (80)}
            {(Lit_VarLike 'LS_COLORS=') (DQ ('*.foo=') ($ VSub_Name '$color_code'))}
            {(Lit_VarLike 'TIME_STYLE=') (Lit_Other '+') (T)}
            {(ls)}
            {(-og)}
            {(--color) (Lit_Other '=') (always)}
            {($ VSub_Name '$long_name')}
          ]
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(out)} spids:[158])]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[164])]
          spids: [164]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(echo)}]
          redirects: [(Redir op_id:Redir_DGreat fd:16777215 arg_word:{(out)} spids:[173])]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[179])]
          spids: [179]
        )
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (SimpleCommand
          words: [{(sed)} {(SQ <'s/.*T //'>)} {(out)}]
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(k)} spids:[191])]
        )
        (C {(mv)} {(k)} {(out)})
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(compare)} {(exp)} {(out)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[212])]
          spids: [212]
        )
      ]
    )
    (C {(Exit)} {($ VSub_Name '$fail')})
  ]
)