(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 for contextually independent diffs'
                  span_id: 6
                )
              )
            }
          spids: [4]
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (command.Simple
      words: [
        {(echo)}
        {
          (SQ (Token id:Id.Lit_Chars val:'1\n' span_id:17) 
            (Token id:Id.Lit_Chars val:'2\n' span_id:18) (Token id:Id.Lit_Chars val:'3\n' span_id:19) (Token id:Id.Lit_Chars val:'4\n' span_id:20) 
            (Token id:Id.Lit_Chars val:'5\n' span_id:21) (Token id:Id.Lit_Chars val:'6\n' span_id:22) (Token id:Id.Lit_Chars val:'7\n' span_id:23) 
            (Token id:Id.Lit_Chars val:8 span_id:24)
          )
        }
      ]
      redirects: [(redir.Redir op:(Token id:Id.Redir_Great val:'>' span_id:27) fd:-1 arg_word:{(file)})]
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:setup span_id:34))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'git add file &&\n' span_id:40) 
          (Token id:Id.Lit_Chars val:'\tgit commit -q -m 1 &&\n' span_id:41) (Token id:Id.Lit_Chars val:'\tgit checkout -b test &&\n' span_id:42) 
          (Token id:Id.Lit_Chars val:'\tmv file file.tmp &&\n' span_id:43) (Token id:Id.Lit_Chars val:'\techo 0 >file &&\n' span_id:44) 
          (Token id:Id.Lit_Chars val:'\tcat file.tmp >>file &&\n' span_id:45) (Token id:Id.Lit_Chars val:'\trm file.tmp &&\n' span_id:46) 
          (Token id:Id.Lit_Chars val:'\tgit commit -a -q -m 2 &&\n' span_id:47) (Token id:Id.Lit_Chars val:'\techo 9 >>file &&\n' span_id:48) 
          (Token id:Id.Lit_Chars val:'\tgit commit -a -q -m 3 &&\n' span_id:49) (Token id:Id.Lit_Chars val:'\tgit checkout master' span_id:50)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'check if contextually independent diffs for the same file apply'
            span_id: 59
          )
        )
      } 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: '( git diff test~2 test~1; git diff test~1 test~0 )| git apply'
            span_id: 65
          )
        )
      }
    )
    (C {(test_done)})
  ]
)