(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_)} {(touch)})
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(touch)} {(-c)} {(no-file)}]
          redirects: [
            (Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[72])
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[76])
          ]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[81])]
          spids: [81]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(touch)} {(-cm)} {(no-file)}]
          redirects: [
            (Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[90])
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[94])
          ]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[99])]
          spids: [99]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(touch)} {(-ca)} {(no-file)}]
          redirects: [
            (Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[108])
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[112])
          ]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[117])]
          spids: [117]
        )
      ]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$abs_top_builddir') (/src/test))}
          spids: [121]
        )
      ]
      spids: [121]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  ops: [Op_DAmp]
                  children: [
                    (SimpleCommand
                      words: [{(DQ ($ VSub_Name '$test'))} {(-w)} {(/dev/stdout)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {(/dev/null)}
                          spids: [147]
                        )
                      ]
                    )
                    (SimpleCommand
                      words: [{(DQ ($ VSub_Name '$test'))} {(KW_Bang '!')} {(-w)} {(/dev/stdout)}]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(-)} spids:[163])]
                    )
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (AndOr
              ops: [Op_DPipe]
              children: [
                (SimpleCommand
                  words: [{(touch)} {(-c)} {(-)}]
                  redirects: [
                    (Redir
                      op_id: Redir_GreatAnd
                      fd: 16777215
                      arg_word: {(-)}
                      spids: [176]
                    )
                    (Redir
                      op_id: Redir_Great
                      fd: 2
                      arg_word: {(/dev/null)}
                      spids: [179]
                    )
                  ]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[185])]
                  spids: [185]
                )
              ]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (SimpleCommand
                  words: [{(touch)} {(-cm)} {(-)}]
                  redirects: [
                    (Redir
                      op_id: Redir_GreatAnd
                      fd: 16777215
                      arg_word: {(-)}
                      spids: [195]
                    )
                    (Redir
                      op_id: Redir_Great
                      fd: 2
                      arg_word: {(/dev/null)}
                      spids: [198]
                    )
                  ]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[204])]
                  spids: [204]
                )
              ]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (SimpleCommand
                  words: [{(touch)} {(-ca)} {(-)}]
                  redirects: [
                    (Redir
                      op_id: Redir_GreatAnd
                      fd: 16777215
                      arg_word: {(-)}
                      spids: [214]
                    )
                    (Redir
                      op_id: Redir_Great
                      fd: 2
                      arg_word: {(/dev/null)}
                      spids: [217]
                    )
                  ]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[223])]
                  spids: [223]
                )
              ]
            )
          ]
          spids: [16777215 167]
        )
      ]
      spids: [16777215 226]
    )
    (C {(Exit)} {($ VSub_Name '$fail')})
  ]
)