(command.CommandList
  children: [
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:test_description spids:[21])
          op: Equal
          rhs: {(SQ <'git apply should handle files with incomplete lines.\n'> <'\n'>)}
          spids: [21]
        )
      ]
      spids: [21]
    )
    (C {(.)} {(./test-lib.sh)})
    (command.Subshell
      child: 
        (command.CommandList
          children: [
            (command.Sentence child:(C {(echo)} {(a)}) terminator:<Op_Semi ';'>)
            (C {(echo)} {(b)})
          ]
        )
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(frotz.0)})]
      spids: [36 45]
    )
    (command.Subshell
      child: 
        (command.CommandList
          children: [
            (command.Sentence child:(C {(echo)} {(a)}) terminator:<Op_Semi ';'>)
            (command.Sentence child:(C {(echo)} {(b)}) terminator:<Op_Semi ';'>)
            (C {(echo)} {(c)})
          ]
        )
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(frotz.1)})]
      spids: [50 64]
    )
    (command.Subshell
      child: 
        (command.CommandList
          children: [
            (command.Sentence child:(C {(echo)} {(a)}) terminator:<Op_Semi ';'>)
            (command.Pipeline
              children: [(C {(echo)} {(b)}) (C {(tr)} {(-d)} {(SQ <'\\012'>)})]
              negated: F
            )
          ]
        )
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(frotz.2)})]
      spids: [69 88]
    )
    (command.Subshell
      child: 
        (command.CommandList
          children: [
            (command.Sentence child:(C {(echo)} {(a)}) terminator:<Op_Semi ';'>)
            (command.Sentence child:(C {(echo)} {(c)}) terminator:<Op_Semi ';'>)
            (command.Pipeline
              children: [(C {(echo)} {(b)}) (C {(tr)} {(-d)} {(SQ <'\\012'>)})]
              negated: F
            )
          ]
        )
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(frotz.3)})]
      spids: [93 117]
    )
    (command.ForEach
      iter_name: i
      iter_words: [{(0)} {(1)} {(2)} {(3)}]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [
            (command.ForEach
              iter_name: j
              iter_words: [{(0)} {(1)} {(2)} {(3)}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {($ VSub_Name '$i')} {(-eq)} {($ VSub_Name '$j')})
                        (command.ControlFlow
                          token: <ControlFlow_Continue continue>
                        )
                      ]
                    )
                    (command.SimpleCommand
                      words: [{(cat)} {(frotz.) ($ VSub_Name '$i')}]
                      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(frotz)})]
                    )
                    (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: [155 197]
                )
              spids: [145 16777215]
            )
          ]
          spids: [137 199]
        )
      spids: [128 16777215]
    )
    (C {(test_done)})
  ]
)