(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:test_description)
          op: assign_op.Equal
          rhs: {(SQ (Token id:Id.Lit_Chars val:cd_to_toplevel span_id:6))}
          spids: [4]
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:EXEC_PATH)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (command_sub
                  left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:17)
                  command_list: (command.CommandList children:[(C {(git)} {(--exec-path)})])
                )
              )
            }
          spids: [15]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {(test_have_prereq)} {(Id.KW_Bang '!') (MINGW)})
        (command.Case
          to_match: {(DQ ($ Id.VSub_DollarName '$EXEC_PATH'))}
          arms: [
            (case_arm
              pat_list: [
                {(Id.Lit_LBracket '[') (A-Za-z) (Id.Lit_RBracket ']') (Id.Lit_Other ':') (/) 
                  (Id.Lit_Star '*')
                }
              ]
              action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:EXEC_PATH)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (DQ (/) 
                            (braced_var_sub
                              token: (Token id:Id.VSub_Name val:EXEC_PATH span_id:52)
                              suffix_op: (suffix_op.Unary op_id:Id.VOp1_DPercent arg_word:{(':*')})
                            ) 
                            (braced_var_sub
                              token: (Token id:Id.VSub_Name val:EXEC_PATH span_id:57)
                              suffix_op: (suffix_op.Unary op_id:Id.VOp1_Pound arg_word:{('?:')})
                            )
                          )
                        }
                      spids: [48]
                    )
                  ]
                )
              ]
              spids: [39 45 64 -1]
            )
          ]
        )
      ]
    )
    (command.ShFunction
      name: test_cd_to_toplevel
      body: 
        (command.BraceGroup
          children: [
            (C {(test_expect_success)} {($ Id.VSub_Number '$3')} {(DQ ($ Id.VSub_Number '$2'))} 
              {
                (SQ (Token id:Id.Lit_Chars val:'\n' span_id:86) 
                  (Token id:Id.Lit_Chars val:'\t\t(\n' span_id:87) (Token id:Id.Lit_Chars val:'\t\t\tcd ' span_id:88)
                ) (DQ ("'") ($ Id.VSub_Number '$1') ("'")) 
                (SQ (Token id:Id.Lit_Chars val:' &&\n' span_id:96) 
                  (Token
                    id: Id.Lit_Chars
                    val: '\t\t\tPATH="$EXEC_PATH:$PATH" &&\n'
                    span_id: 97
                  ) (Token id:Id.Lit_Chars val:'\t\t\t. git-sh-setup &&\n' span_id:98) 
                  (Token
                    id: Id.Lit_Chars
                    val: '\t\t\tcd_to_toplevel &&\n'
                    span_id: 99
                  ) (Token id:Id.Lit_Chars val:'\t\t\t[ "$(pwd -P)" = "$TOPLEVEL" ]\n' span_id:100) 
                  (Token id:Id.Lit_Chars val:'\t\t)\n' span_id:101) (Token id:Id.Lit_Chars val:'\t' span_id:102)
                )
              }
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TOPLEVEL)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (command_sub
                  left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:110)
                  command_list: (command.CommandList children:[(C {(pwd)} {(-P)})])
                ) (/repo)
              )
            }
          spids: [108]
        )
      ]
    )
    (C {(mkdir)} {(-p)} {(repo/sub/dir)})
    (C {(mv)} {(.git)} {(repo/)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:SUBDIRECTORY_OK)
          op: assign_op.Equal
          rhs: {(1)}
          spids: [130]
        )
      ]
    )
    (C {(test_cd_to_toplevel)} {(repo)} {(SQ (Token id:Id.Lit_Chars val:'at physical root' span_id:139))})
    (C {(test_cd_to_toplevel)} {(repo/sub/dir)} 
      {(SQ (Token id:Id.Lit_Chars val:'at physical subdir' span_id:148))}
    )
    (command.Simple
      words: [{(ln)} {(-s)} {(repo)} {(symrepo)}]
      redirects: [
        (redir.Redir
          op: (Token id:Id.Redir_Great val:'2>' span_id:160)
          fd: 2
          arg_word: {(/dev/null)}
        )
      ]
    )
    (C {(test_cd_to_toplevel)} {(symrepo)} 
      {(SQ (Token id:Id.Lit_Chars val:'at symbolic root' span_id:168))} {(SYMLINKS)}
    )
    (command.Simple
      words: [{(ln)} {(-s)} {(repo/sub/dir)} {(subdir-link)}]
      redirects: [
        (redir.Redir
          op: (Token id:Id.Redir_Great val:'2>' span_id:182)
          fd: 2
          arg_word: {(/dev/null)}
        )
      ]
    )
    (C {(test_cd_to_toplevel)} {(subdir-link)} 
      {(SQ (Token id:Id.Lit_Chars val:'at symbolic subdir' span_id:190))} {(SYMLINKS)}
    )
    (C {(cd)} {(repo)})
    (command.Simple
      words: [{(ln)} {(-s)} {(sub/dir)} {(internal-link)}]
      redirects: [
        (redir.Redir
          op: (Token id:Id.Redir_Great val:'2>' span_id:208)
          fd: 2
          arg_word: {(/dev/null)}
        )
      ]
    )
    (C {(test_cd_to_toplevel)} {(internal-link)} 
      {(SQ (Token id:Id.Lit_Chars val:'at internal symbolic subdir' span_id:216))} {(SYMLINKS)}
    )
    (C {(test_done)})
  ]
)