(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: {(SQ <"git apply should handle files with incomplete lines.\n"> <"\n">)}
          spids: [13]
        )
      ]
      spids: [13]
    )
    (C {(.)} {(./test-lib.sh)})
    (Subshell
      child: 
        (CommandList
          children: [(Sentence child:(C {(echo)} {(a)}) terminator:<Op_Semi ";">) (C {(echo)} {(b)})]
        )
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(frotz.0)} spids:[39])]
      spids: [28 37]
    )
    (Subshell
      child: 
        (CommandList
          children: [
            (Sentence child:(C {(echo)} {(a)}) terminator:<Op_Semi ";">)
            (Sentence child:(C {(echo)} {(b)}) terminator:<Op_Semi ";">)
            (C {(echo)} {(c)})
          ]
        )
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(frotz.1)} spids:[58])]
      spids: [42 56]
    )
    (Subshell
      child: 
        (CommandList
          children: [
            (Sentence child:(C {(echo)} {(a)}) terminator:<Op_Semi ";">)
            (Pipeline
              children: [(C {(echo)} {(b)}) (C {(tr)} {(-d)} {(SQ <"\\012">)})]
              negated: False
            )
          ]
        )
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(frotz.2)} spids:[82])]
      spids: [61 80]
    )
    (Subshell
      child: 
        (CommandList
          children: [
            (Sentence child:(C {(echo)} {(a)}) terminator:<Op_Semi ";">)
            (Sentence child:(C {(echo)} {(c)}) terminator:<Op_Semi ";">)
            (Pipeline
              children: [(C {(echo)} {(b)}) (C {(tr)} {(-d)} {(SQ <"\\012">)})]
              negated: False
            )
          ]
        )
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(frotz.3)} spids:[111])]
      spids: [85 109]
    )
    (ForEach
      iter_name: i
      iter_words: [{(0)} {(1)} {(2)} {(3)}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (ForEach
              iter_name: j
              iter_words: [{(0)} {(1)} {(2)} {(3)}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      children: [
                        (C {(test)} {($ VSub_Name "$i")} {(-eq)} {($ VSub_Name "$j")})
                        (ControlFlow token:<ControlFlow_Continue continue>)
                      ]
                      op_id: Op_DAmp
                    )
                    (SimpleCommand
                      words: [{(cat)} {(frotz.) ($ VSub_Name "$i")}]
                      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(frotz)} spids:[168])]
                    )
                    (C {(test_expect_success)} 
                      {(DQ ("apply diff between ") ($ VSub_Name "$i") (" and ") ($ VSub_Name "$j"))} 
                      {
                        (SQ <"\n"> <"\tgit apply <\"$TEST_DIRECTORY\"/t4101/diff.$i-$j &&\n"> 
                          <"\ttest_cmp frotz.$j frotz\n"> <"    ">
                        )
                      }
                    )
                  ]
                  spids: [147 189]
                )
              spids: [137 -1]
            )
          ]
          spids: [129 191]
        )
      spids: [120 -1]
    )
    (C {(test_done)})
  ]
)