(command.CommandList
  children: [
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C {<.>} 
              {
                (DQ 
                  (braced_var_sub
                    token: <Id.VSub_Name srcdir>
                    suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<.>})
                  ) <'/tests/init.sh'>
                )
              }
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<path_prepend_>} {<'./src'>})
      ]
    )
    (C {<print_ver_>} {<mv>})
    (command.ShFunction
      name: cleanup_
      body: 
        (BraceGroup
          children: [
            (command.Sentence
              child: (C {<rm>} {<-rf>} {(DQ ($ Id.VSub_DollarName '$other_partition_tmpdir'))})
              terminator: <Id.Op_Semi _>
            )
          ]
        )
    )
    (C {<.>} {(DQ ($ Id.VSub_DollarName '$abs_srcdir') <'/tests/other-fs-tmpdir'>)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:dir)
          op: assign_op.Equal
          rhs: {<hlink>}
          spids: [92]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [(C {<mkdir>} {($ Id.VSub_DollarName '$dir')}) (C {<framework_failure_>})]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (command.Simple
          redirects: [
            (redir
              op: <Id.Redir_Great '>'>
              loc: (redir_loc.Fd fd:1)
              arg: {($ Id.VSub_DollarName '$dir') <'/a'>}
            )
          ]
          do_fork: F
        )
        (C {<framework_failure_>})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<ln>} {($ Id.VSub_DollarName '$dir') <'/a'>} {($ Id.VSub_DollarName '$dir') <'/b'>})
        (C {<framework_failure_>})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<mv>} {($ Id.VSub_DollarName '$dir')} {(DQ ($ Id.VSub_DollarName '$other_partition_tmpdir'))})
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:fail)
              op: assign_op.Equal
              rhs: {<1>}
              spids: [136]
            )
          ]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (command.Simple
          words: [
            {<ls>}
            {<-1i>}
            {
              (DQ ($ Id.VSub_DollarName '$other_partition_tmpdir') <'/'> ($ Id.VSub_DollarName '$dir'))
            }
          ]
          redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<out>})]
          do_fork: T
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:fail)
              op: assign_op.Equal
              rhs: {<1>}
              spids: [159]
            )
          ]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:a)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: (C {<sed>} {<-n>} {(SQ <'s/ a$//p'>)} {<out>})
              )
            }
          spids: [166]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:b)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: (C {<sed>} {<-n>} {(SQ <'s/ b$//p'>)} {<out>})
              )
            }
          spids: [179]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<test>} {(DQ ($ Id.VSub_DollarName '$a'))} {<Id.Lit_Equals '='>} 
          {(DQ ($ Id.VSub_DollarName '$b'))}
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:fail)
              op: assign_op.Equal
              rhs: {<1>}
              spids: [206]
            )
          ]
        )
      ]
    )
    (C {<Exit>} {($ Id.VSub_DollarName '$fail')})
  ]
)