(command.CommandList
  children: [
    (command.ShAssignment
      left: <Id.Lit_VarLike 'test_description='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'test_description='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'test_description='> name:test_description)
          op: assign_op.Equal
          rhs: {(SQ <cd_to_toplevel>)}
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {<'./test-lib.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'EXEC_PATH='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'EXEC_PATH='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EXEC_PATH='> name:EXEC_PATH)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (CommandSub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (command.Simple
                      blame_tok: <git>
                      more_env: []
                      words: [{<git>} {<--exec-path>}]
                      redirects: []
                      do_fork: T
                    )
                  right: <Id.Eof_RParen _>
                )
              )
            }
        )
      ]
      redirects: []
    )
    (command.AndOr
      children: [
        (command.Simple
          blame_tok: <test_have_prereq>
          more_env: []
          words: [{<test_have_prereq>} {<Id.KW_Bang '!'> <MINGW>}]
          redirects: []
          do_fork: T
        )
        (command.Case
          case_kw: <Id.KW_Case case>
          to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName EXEC_PATH))})
          arms_start: <Id.KW_In in>
          arms: [
            (CaseArm
              left: <Id.Lit_LBracket '['>
              pattern: 
                (pat.Words
                  words: [
                    {<Id.Lit_LBracket '['> <A-Za-z> <Id.Lit_RBracket ']'> <Id.Lit_Colon ':'> <'/'> 
                      <Id.Lit_Star '*'>
                    }
                  ]
                )
              middle: <Id.Right_CasePat _>
              action: [
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'EXEC_PATH='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'EXEC_PATH='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EXEC_PATH='> name:EXEC_PATH)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (DQ <'/'> 
                            (BracedVarSub
                              left: <Id.Left_DollarBrace '${'>
                              token: <Id.VSub_Name EXEC_PATH>
                              var_name: EXEC_PATH
                              suffix_op: 
                                (suffix_op.Unary
                                  op: <Id.VOp1_DPercent '%%'>
                                  arg_word: {<':'> <Id.Lit_Other '*'>}
                                )
                              right: <Id.Right_DollarBrace '}'>
                            ) 
                            (BracedVarSub
                              left: <Id.Left_DollarBrace '${'>
                              token: <Id.VSub_Name EXEC_PATH>
                              var_name: EXEC_PATH
                              suffix_op: 
                                (suffix_op.Unary
                                  op: <Id.VOp1_Pound '#'>
                                  arg_word: {<Id.Lit_Other '?'> <':'>}
                                )
                              right: <Id.Right_DollarBrace '}'>
                            )
                          )
                        }
                    )
                  ]
                  redirects: []
                )
              ]
              right: <Id.Op_DSemi _>
            )
          ]
          arms_end: <Id.KW_Esac esac>
          redirects: []
        )
      ]
      ops: [<Id.Op_DPipe _>]
    )
    (command.ShFunction
      name_tok: <test_cd_to_toplevel>
      name: test_cd_to_toplevel
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <test_expect_success>
              more_env: []
              words: [
                {<test_expect_success>}
                {($ Id.VSub_Number 3)}
                {(DQ ($ Id.VSub_Number 2))}
                {(SQ <'\n'> <'\t\t(\n'> <'\t\t\tcd '>) (DQ <'\''> ($ Id.VSub_Number 1) <'\''>) 
                  (SQ <' &&\n'> <'\t\t\tPATH="$EXEC_PATH:$PATH" &&\n'> <'\t\t\t. git-sh-setup &&\n'> 
                    <'\t\t\tcd_to_toplevel &&\n'> <'\t\t\t[ "$(pwd -P)" = "$TOPLEVEL" ]\n'> <'\t\t)\n'> <'\t'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'TOPLEVEL='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'TOPLEVEL='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TOPLEVEL='> name:TOPLEVEL)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (CommandSub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (command.Simple
                      blame_tok: <pwd>
                      more_env: []
                      words: [{<pwd>} {<-P>}]
                      redirects: []
                      do_fork: T
                    )
                  right: <Id.Eof_RParen _>
                ) <'/repo'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <mkdir>
      more_env: []
      words: [{<mkdir>} {<-p>} {<'repo/sub/dir'>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <mv>
      more_env: []
      words: [{<mv>} {<.git>} {<'repo/'>}]
      redirects: []
      do_fork: T
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'SUBDIRECTORY_OK='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'SUBDIRECTORY_OK='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SUBDIRECTORY_OK='> name:SUBDIRECTORY_OK)
          op: assign_op.Equal
          rhs: {<1>}
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <test_cd_to_toplevel>
      more_env: []
      words: [{<test_cd_to_toplevel>} {<repo>} {(SQ <'at physical root'>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_cd_to_toplevel>
      more_env: []
      words: [{<test_cd_to_toplevel>} {<'repo/sub/dir'>} {(SQ <'at physical subdir'>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <ln>
      more_env: []
      words: [{<ln>} {<-s>} {<repo>} {<symrepo>}]
      redirects: [(Redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})]
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_cd_to_toplevel>
      more_env: []
      words: [{<test_cd_to_toplevel>} {<symrepo>} {(SQ <'at symbolic root'>)} {<SYMLINKS>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <ln>
      more_env: []
      words: [{<ln>} {<-s>} {<'repo/sub/dir'>} {<subdir-link>}]
      redirects: [(Redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})]
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_cd_to_toplevel>
      more_env: []
      words: [{<test_cd_to_toplevel>} {<subdir-link>} {(SQ <'at symbolic subdir'>)} {<SYMLINKS>}]
      redirects: []
      do_fork: T
    )
    (command.Simple blame_tok:<cd> more_env:[] words:[{<cd>} {<repo>}] redirects:[] do_fork:T)
    (command.Simple
      blame_tok: <ln>
      more_env: []
      words: [{<ln>} {<-s>} {<'sub/dir'>} {<internal-link>}]
      redirects: [(Redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})]
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_cd_to_toplevel>
      more_env: []
      words: [
        {<test_cd_to_toplevel>}
        {<internal-link>}
        {(SQ <'at internal symbolic subdir'>)}
        {<SYMLINKS>}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_done>
      more_env: []
      words: [{<test_done>}]
      redirects: []
      do_fork: T
    )
  ]
)