(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)})
    (AndOr ops:[Op_DPipe] children:[(C {(touch)} {(f)}) (C {(framework_failure_)})])
    (AndOr
      ops: [Op_DPipe]
      children: [(C {(ln)} {(-s)} {(f)} {(slink)}) (C {(framework_failure_)})]
    )
    (Sentence
      child: 
        (C {(set)} {(x)} 
          {
            (CommandSubPart
              command_list: (CommandList children:[(C {(ls)} {(-Ci)} {(f)} {(slink)})])
              left_token: <Left_CommandSub '$('>
              spids: [95 103]
            )
          }
        )
      terminator: <Op_Semi ';'>
    )
    (C {(shift)})
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(test)} {($ VSub_Pound '$#')} {(Lit_Other '=')} {(4)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[118])]
          spids: [118]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(test)} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} 
          {(DQ ($ VSub_Number '$3'))}
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[139])]
          spids: [139]
        )
      ]
    )
    (Sentence
      child: 
        (C {(set)} {(x)} 
          {
            (CommandSubPart
              command_list: (CommandList children:[(C {(ls)} {(-CLi)} {(f)} {(slink)})])
              left_token: <Left_CommandSub '$('>
              spids: [147 155]
            )
          }
        )
      terminator: <Op_Semi ';'>
    )
    (C {(shift)})
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(test)} {($ VSub_Pound '$#')} {(Lit_Other '=')} {(4)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[170])]
          spids: [170]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(test)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ ($ VSub_Number '$3'))})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[190])]
          spids: [190]
        )
      ]
    )
    (Sentence
      child: 
        (C {(set)} {(x)} 
          {
            (CommandSubPart
              command_list: (CommandList children:[(C {(ls)} {(-CHi)} {(f)} {(slink)})])
              left_token: <Left_CommandSub '$('>
              spids: [198 206]
            )
          }
        )
      terminator: <Op_Semi ';'>
    )
    (C {(shift)})
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(test)} {($ VSub_Pound '$#')} {(Lit_Other '=')} {(4)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[221])]
          spids: [221]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(test)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ ($ VSub_Number '$3'))})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[256])]
          spids: [256]
        )
      ]
    )
    (Sentence
      child: 
        (C {(set)} {(x)} 
          {
            (CommandSubPart
              command_list: (CommandList children:[(C {(ls)} {(-Ci)})])
              left_token: <Left_CommandSub '$('>
              spids: [268 272]
            )
          }
        )
      terminator: <Op_Semi ';'>
    )
    (C {(shift)})
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(test)} {($ VSub_Pound '$#')} {(Lit_Other '=')} {(4)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[287])]
          spids: [287]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(test)} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} 
          {(DQ ($ VSub_Number '$3'))}
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[308])]
          spids: [308]
        )
      ]
    )
    (Sentence
      child: 
        (C {(set)} {(x)} 
          {
            (CommandSubPart
              command_list: (CommandList children:[(C {(ls)} {(-CLi)})])
              left_token: <Left_CommandSub '$('>
              spids: [316 320]
            )
          }
        )
      terminator: <Op_Semi ';'>
    )
    (C {(shift)})
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(test)} {($ VSub_Pound '$#')} {(Lit_Other '=')} {(4)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[335])]
          spids: [335]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(test)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ ($ VSub_Number '$3'))})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[355])]
          spids: [355]
        )
      ]
    )
    (Sentence
      child: 
        (C {(set)} {(x)} 
          {
            (CommandSubPart
              command_list: (CommandList children:[(C {(ls)} {(-CHi)})])
              left_token: <Left_CommandSub '$('>
              spids: [363 367]
            )
          }
        )
      terminator: <Op_Semi ';'>
    )
    (C {(shift)})
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(test)} {($ VSub_Pound '$#')} {(Lit_Other '=')} {(4)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[382])]
          spids: [382]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(test)} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} 
          {(DQ ($ VSub_Number '$3'))}
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[403])]
          spids: [403]
        )
      ]
    )
    (C {(Exit)} {($ VSub_Name '$fail')})
  ]
)