(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:test_description)
          op: assign_op.Equal
          rhs: 
            {
              (SQ <'More rename detection tests.\n'> <'\n'> 
                <'The rename detection logic should be able to detect pure rename or\n'> <'copy of symbolic links, but should not produce rename/copy followed\n'> <'by an edit for them.\n'>
              )
            }
          spids: [13]
        )
      ]
    )
    (C {<.>} {<'./test-lib.sh'>})
    (C {<.>} {(DQ ($ Id.VSub_DollarName '$TEST_DIRECTORY')) <'/diff-lib.sh'>})
    (C {<test_expect_success>} {<SYMLINKS>} {(SQ <'prepare reference tree'>)} 
      {(SQ <'echo xyzzy | tr -d '>) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) 
        (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) 
        (SQ <'012 >yomin &&\n'> <'     ln -s xyzzy frotz &&\n'> 
          <'    git update-index --add frotz yomin &&\n'> <'    tree=$(git write-tree) &&\n'> <'    echo $tree'>
        )
      }
    )
    (C {<test_expect_success>} {<SYMLINKS>} {(SQ <'prepare work tree'>)} 
      {
        (SQ <'mv frotz rezrov &&\n'> <'     rm -f yomin &&\n'> <'     ln -s xyzzy nitfol &&\n'> 
          <'     ln -s xzzzy bozbar &&\n'> <'    git update-index --add --remove frotz rezrov nitfol bozbar yomin'>
        )
      }
    )
    (C {<test_expect_success>} {<SYMLINKS>} {(SQ <'setup diff output'>)} 
      {
        (DQ <'\n'> <'    GIT_DIFF_OPTS=--unified=0 git diff-index -C -p '> 
          ($ Id.VSub_DollarName '$tree') <' >current &&\n'> <'    cat >expected <<'> <Id.Lit_BadBackslash '\\'> <'EOF\n'> 
          <'diff --git a/bozbar b/bozbar\n'> <'new file mode 120000\n'> <'--- /dev/null\n'> <'+++ b/bozbar\n'> <'@@ -0,0 +1 @@\n'> <'+xzzzy\n'> 
          <Id.Lit_BadBackslash '\\'> <' No newline at end of file\n'> <'diff --git a/frotz b/nitfol\n'> <'similarity index 100%\n'> 
          <'copy from frotz\n'> <'copy to nitfol\n'> <'diff --git a/frotz b/rezrov\n'> <'similarity index 100%\n'> 
          <'rename from frotz\n'> <'rename to rezrov\n'> <'diff --git a/yomin b/yomin\n'> <'deleted file mode 100644\n'> <'--- a/yomin\n'> 
          <'+++ /dev/null\n'> <'@@ -1 +0,0 @@\n'> <'-xyzzy\n'> <Id.Lit_BadBackslash '\\'> <' No newline at end of file\n'> <'EOF\n'>
        )
      }
    )
    (C {<test_expect_success>} {<SYMLINKS>} {(SQ <'validate diff output'>)} 
      {(SQ <'compare_diff_patch current expected'>)}
    )
    (C {<test_done>})
  ]
)