(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:test_description)
          op: assign_op.Equal
          rhs: {(SQ <'git apply test patches with multiple fragments.'>)}
          spids: [16]
        )
      ]
    )
    (C {<.>} {<'./test-lib.sh'>})
    (C {<cp>} {(DQ ($ Id.VSub_DollarName '$TEST_DIRECTORY') <'/t4109/patch1.patch'>)} {<.>})
    (C {<cp>} {(DQ ($ Id.VSub_DollarName '$TEST_DIRECTORY') <'/t4109/patch2.patch'>)} {<.>})
    (C {<cp>} {(DQ ($ Id.VSub_DollarName '$TEST_DIRECTORY') <'/t4109/patch3.patch'>)} {<.>})
    (C {<cp>} {(DQ ($ Id.VSub_DollarName '$TEST_DIRECTORY') <'/t4109/patch4.patch'>)} {<.>})
    (C {<test_expect_success>} {(SQ <'git apply (1)'>)} 
      {
        (SQ <'\n'> <'\tgit apply patch1.patch patch2.patch &&\n'> 
          <'\ttest_cmp "$TEST_DIRECTORY/t4109/expect-1" main.c\n'>
        )
      }
    )
    (C {<rm>} {<-f>} {<main.c>})
    (C {<test_expect_success>} {(SQ <'git apply (2)'>)} 
      {
        (SQ <'\n'> <'\tgit apply patch1.patch patch2.patch patch3.patch &&\n'> 
          <'\ttest_cmp "$TEST_DIRECTORY/t4109/expect-2" main.c\n'>
        )
      }
    )
    (C {<rm>} {<-f>} {<main.c>})
    (C {<test_expect_success>} {(SQ <'git apply (3)'>)} 
      {
        (SQ <'\n'> <'\tgit apply patch1.patch patch4.patch &&\n'> 
          <'\ttest_cmp "$TEST_DIRECTORY/t4109/expect-3" main.c\n'>
        )
      }
    )
    (C {<mv>} {<main.c>} {<main.c.git>})
    (C {<test_done>})
  ]
)