(CommandList
  children: [
    (C {(set)} {(-e)})
    (C {(cd)} 
      {
        (DQ 
          (CommandSubPart
            command_list: (CommandList children:[(C {(dirname)} {(DQ ($ VSub_Number '$0'))})])
            left_token: <Left_CommandSub '$('>
            spids: [20 26]
          ) (/..)
        )
      }
    )
    (AndOr
      children: [
        (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$DEBUG'))} {(Lit_Other ']')})
        (C {(set)} {(-x)})
      ]
      op_id: Op_DPipe
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:RACK_ROOT)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (AndOr
                          children: [
                            (C {(cd)} 
                              {
                                (DQ 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [(C {(dirname)} {(DQ ($ VSub_Number '$0'))})]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [54 60]
                                  )
                                ) (/..)
                              }
                            )
                            (C {(pwd)})
                          ]
                          op_id: Op_DAmp
                        )
                      ]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [50 67]
                )
              )
            }
          spids: [48]
        )
      ]
      spids: [48]
    )
    (C {(export)} {(RACK_ROOT)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  children: [
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$RAILS_ENV'))} {(Lit_Other '=')} {(DQ (test))} 
                      {(Lit_Other ']')}
                    )
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$RACK_ENV'))} {(Lit_Other '=')} {(DQ (test))} 
                      {(Lit_Other ']')}
                    )
                  ]
                  op_id: Op_DPipe
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(script/setup)})]
          spids: [16777215 108]
        )
      ]
      else_action: [
        (C {(export)} {(Lit_VarLike 'RAILS_ENV=') (DQ (test))} {(Lit_VarLike 'RACK_ENV=') (DQ (test))})
        (C {(script/update)})
      ]
      spids: [125 164]
    )
    (C {(echo)} {(DQ ('==> Running tests\xe2\x80\xa6'))})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(bin/rake)} {(test)} {(DQ ($ VSub_Number '$1'))})]
          spids: [16777215 187]
        )
      ]
      else_action: [(C {(bin/rake)} {(test)})]
      spids: [202 209]
    )
  ]
)