(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:'ask merge-recursive to merge binary files' 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:'\n' span_id:21) 
          (Token
            id: Id.Lit_Chars
            val: '\tcat "$TEST_DIRECTORY"/test-binary-1.png >m &&\n'
            span_id: 22
          ) (Token id:Id.Lit_Chars val:'\tgit add m &&\n' span_id:23) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit ls-files -s | sed -e "s/ 0\t/ 1\t/" >E1 &&\n'
            span_id: 24
          ) (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:25) 
          (Token id:Id.Lit_Chars val:'\tgit commit -m "initial" &&\n' span_id:26) (Token id:Id.Lit_Chars val:'\n' span_id:27) 
          (Token id:Id.Lit_Chars val:'\tgit branch side &&\n' span_id:28) (Token id:Id.Lit_Chars val:'\techo frotz >a &&\n' span_id:29) 
          (Token id:Id.Lit_Chars val:'\tgit add a &&\n' span_id:30) (Token id:Id.Lit_Chars val:'\techo nitfol >>m &&\n' span_id:31) 
          (Token id:Id.Lit_Chars val:'\tgit add a m &&\n' span_id:32) (Token id:Id.Lit_Chars val:'\tgit ls-files -s a >E0 &&\n' span_id:33) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit ls-files -s m | sed -e "s/ 0\t/ 3\t/" >E3 &&\n'
            span_id: 34
          ) (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:35) 
          (Token id:Id.Lit_Chars val:'\tgit commit -m "master adds some" &&\n' span_id:36) (Token id:Id.Lit_Chars val:'\n' span_id:37) 
          (Token id:Id.Lit_Chars val:'\tgit checkout side &&\n' span_id:38) (Token id:Id.Lit_Chars val:'\techo rezrov >>m &&\n' span_id:39) 
          (Token id:Id.Lit_Chars val:'\tgit add m &&\n' span_id:40) (Token id:Id.Lit_Chars val:'\tgit ls-files -s m | sed -e "s/ 0\t/ 2\t/" >E2 &&\n' span_id:41) 
          (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:42) (Token id:Id.Lit_Chars val:'\tgit commit -m "side modifies" &&\n' span_id:43) 
          (Token id:Id.Lit_Chars val:'\n' span_id:44) (Token id:Id.Lit_Chars val:'\tgit tag anchor &&\n' span_id:45) 
          (Token id:Id.Lit_Chars val:'\n' span_id:46) (Token id:Id.Lit_Chars val:'\tcat E0 E1 E2 E3 >expect\n' span_id:47)
        )
      }
    )
    (C {(test_expect_success)} {(resolve)} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:56) (Token id:Id.Lit_Chars val:'\n' span_id:57) 
          (Token id:Id.Lit_Chars val:'\trm -f a* m* &&\n' span_id:58) (Token id:Id.Lit_Chars val:'\tgit reset --hard anchor &&\n' span_id:59) 
          (Token id:Id.Lit_Chars val:'\n' span_id:60) (Token id:Id.Lit_Chars val:'\tif git merge -s resolve master\n' span_id:61) 
          (Token id:Id.Lit_Chars val:'\tthen\n' span_id:62) (Token id:Id.Lit_Chars val:'\t\techo Oops, should not have succeeded\n' span_id:63) 
          (Token id:Id.Lit_Chars val:'\t\tfalse\n' span_id:64) (Token id:Id.Lit_Chars val:'\telse\n' span_id:65) 
          (Token id:Id.Lit_Chars val:'\t\tgit ls-files -s >current\n' span_id:66) (Token id:Id.Lit_Chars val:'\t\ttest_cmp current expect\n' span_id:67) 
          (Token id:Id.Lit_Chars val:'\tfi\n' span_id:68)
        )
      }
    )
    (C {(test_expect_success)} {(recursive)} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:77) (Token id:Id.Lit_Chars val:'\n' span_id:78) 
          (Token id:Id.Lit_Chars val:'\trm -f a* m* &&\n' span_id:79) (Token id:Id.Lit_Chars val:'\tgit reset --hard anchor &&\n' span_id:80) 
          (Token id:Id.Lit_Chars val:'\n' span_id:81) (Token id:Id.Lit_Chars val:'\tif git merge -s recursive master\n' span_id:82) 
          (Token id:Id.Lit_Chars val:'\tthen\n' span_id:83) (Token id:Id.Lit_Chars val:'\t\techo Oops, should not have succeeded\n' span_id:84) 
          (Token id:Id.Lit_Chars val:'\t\tfalse\n' span_id:85) (Token id:Id.Lit_Chars val:'\telse\n' span_id:86) 
          (Token id:Id.Lit_Chars val:'\t\tgit ls-files -s >current\n' span_id:87) (Token id:Id.Lit_Chars val:'\t\ttest_cmp current expect\n' span_id:88) 
          (Token id:Id.Lit_Chars val:'\tfi\n' span_id:89)
        )
      }
    )
    (C {(test_done)})
  ]
)