(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:16777215 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:16777215 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: F
            )
          ]
        )
      redirects: [(Redir op_id:Redir_Great fd:16777215 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: F
            )
          ]
        )
      redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(frotz.3)} spids:[111])]
      spids: [85 109]
    )
    (ForEach
      iter_name: i
      iter_words: [{(0)} {(1)} {(2)} {(3)}]
      do_arg_iter: F
      body: 
        (DoGroup
          children: [
            (ForEach
              iter_name: j
              iter_words: [{(0)} {(1)} {(2)} {(3)}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {($ VSub_Name '$i')} {(-eq)} {($ VSub_Name '$j')})
                        (ControlFlow token:<ControlFlow_Continue continue>)
                      ]
                    )
                    (SimpleCommand
                      words: [{(cat)} {(frotz.) ($ VSub_Name '$i')}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          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 16777215]
            )
          ]
          spids: [129 191]
        )
      spids: [120 16777215]
    )
    (C {(test_done)})
  ]
)