(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 --numstat - <patch' span_id:6))}
          spids: [4]
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(test_expect_success)} {(setup)} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:20) 
          (Token id:Id.Lit_Chars val:'\techo hello >text &&\n' span_id:21) (Token id:Id.Lit_Chars val:'\tgit add text &&\n' span_id:22) 
          (Token id:Id.Lit_Chars val:'\techo goodbye >text &&\n' span_id:23) (Token id:Id.Lit_Chars val:'\tgit diff >patch\n' span_id:24)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'git apply --numstat - < patch' span_id:31))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:35) 
          (Token id:Id.Lit_Chars val:'\techo "1\t1\ttext" >expect &&\n' span_id:36) (Token id:Id.Lit_Chars val:'\tgit apply --numstat - <patch >actual &&\n' span_id:37) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:38)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'git apply --numstat - < patch patch' span_id:45))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:49) 
          (Token
            id: Id.Lit_Chars
            val: '\tfor i in 1 2; do echo "1\t1\ttext"; done >expect &&\n'
            span_id: 50
          ) (Token id:Id.Lit_Chars val:'\tgit apply --numstat - < patch patch >actual &&\n' span_id:51) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:52)
        )
      }
    )
    (C {(test_done)})
  ]
)