(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:'git apply --build-fake-ancestor handling.' span_id:15))}
          spids: [13]
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:setup span_id:27))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:31) 
          (Token id:Id.Lit_Chars val:'\ttest_commit 1 &&\n' span_id:32) (Token id:Id.Lit_Chars val:'\ttest_commit 2 &&\n' span_id:33) 
          (Token id:Id.Lit_Chars val:'\tmkdir sub &&\n' span_id:34) (Token id:Id.Lit_Chars val:'\ttest_commit 3 sub/3.t &&\n' span_id:35) 
          (Token id:Id.Lit_Chars val:'\ttest_commit 4\n' span_id:36)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'apply --build-fake-ancestor' span_id:43))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:47) 
          (Token id:Id.Lit_Chars val:'\tgit checkout 2 &&\n' span_id:48) (Token id:Id.Lit_Chars val:'\techo "A" > 1.t &&\n' span_id:49) 
          (Token id:Id.Lit_Chars val:'\tgit diff > 1.patch &&\n' span_id:50) (Token id:Id.Lit_Chars val:'\tgit reset --hard &&\n' span_id:51) 
          (Token id:Id.Lit_Chars val:'\tgit checkout 1 &&\n' span_id:52) (Token id:Id.Lit_Chars val:'\tgit apply --build-fake-ancestor 1.ancestor 1.patch\n' span_id:53)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'apply --build-fake-ancestor in a subdirectory' span_id:60))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:64) 
          (Token id:Id.Lit_Chars val:'\tgit checkout 3 &&\n' span_id:65) (Token id:Id.Lit_Chars val:'\techo "C" > sub/3.t &&\n' span_id:66) 
          (Token id:Id.Lit_Chars val:'\tgit diff > 3.patch &&\n' span_id:67) (Token id:Id.Lit_Chars val:'\tgit reset --hard &&\n' span_id:68) 
          (Token id:Id.Lit_Chars val:'\tgit checkout 4 &&\n' span_id:69) (Token id:Id.Lit_Chars val:'\t(\n' span_id:70) 
          (Token id:Id.Lit_Chars val:'\t\tcd sub &&\n' span_id:71) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit apply --build-fake-ancestor 3.ancestor ../3.patch &&\n'
            span_id: 72
          ) (Token id:Id.Lit_Chars val:'\t\ttest -f 3.ancestor\n' span_id:73) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:74) (Token id:Id.Lit_Chars val:'\tgit apply --build-fake-ancestor 3.ancestor 3.patch &&\n' span_id:75) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp sub/3.ancestor 3.ancestor\n' span_id:76)
        )
      }
    )
    (C {(test_done)})
  ]
)