(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 am with options and not losing them' span_id:6))}
          spids: [4]
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:tm)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$TEST_DIRECTORY') (/t4252))}
          spids: [14]
        )
      ]
    )
    (C {(test_expect_success)} {(setup)} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:26) 
          (Token id:Id.Lit_Chars val:'\tcp "$tm/file-1-0" file-1 &&\n' span_id:27) (Token id:Id.Lit_Chars val:'\tcp "$tm/file-2-0" file-2 &&\n' span_id:28) 
          (Token id:Id.Lit_Chars val:'\tgit add file-1 file-2 &&\n' span_id:29) (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:30) 
          (Token id:Id.Lit_Chars val:'\tgit commit -m initial &&\n' span_id:31) (Token id:Id.Lit_Chars val:'\tgit tag initial\n' span_id:32)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'interrupted am --whitespace=fix' span_id:39))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:43) 
          (Token id:Id.Lit_Chars val:'\trm -rf .git/rebase-apply &&\n' span_id:44) (Token id:Id.Lit_Chars val:'\tgit reset --hard initial &&\n' span_id:45) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git am --whitespace=fix "$tm"/am-test-1-? &&\n'
            span_id: 46
          ) (Token id:Id.Lit_Chars val:'\tgit am --skip &&\n' span_id:47) 
          (Token id:Id.Lit_Chars val:'\tgrep 3 file-1 &&\n' span_id:48) (Token id:Id.Lit_Chars val:'\tgrep "^Six$" file-2\n' span_id:49)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'interrupted am -C1' span_id:56))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:60) 
          (Token id:Id.Lit_Chars val:'\trm -rf .git/rebase-apply &&\n' span_id:61) (Token id:Id.Lit_Chars val:'\tgit reset --hard initial &&\n' span_id:62) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git am -C1 "$tm"/am-test-2-? &&\n'
            span_id: 63
          ) (Token id:Id.Lit_Chars val:'\tgit am --skip &&\n' span_id:64) 
          (Token id:Id.Lit_Chars val:'\tgrep 3 file-1 &&\n' span_id:65) (Token id:Id.Lit_Chars val:'\tgrep "^Three$" file-2\n' span_id:66)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'interrupted am -p2' span_id:73))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:77) 
          (Token id:Id.Lit_Chars val:'\trm -rf .git/rebase-apply &&\n' span_id:78) (Token id:Id.Lit_Chars val:'\tgit reset --hard initial &&\n' span_id:79) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git am -p2 "$tm"/am-test-3-? &&\n'
            span_id: 80
          ) (Token id:Id.Lit_Chars val:'\tgit am --skip &&\n' span_id:81) 
          (Token id:Id.Lit_Chars val:'\tgrep 3 file-1 &&\n' span_id:82) (Token id:Id.Lit_Chars val:'\tgrep "^Three$" file-2\n' span_id:83)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'interrupted am -C1 -p2' span_id:90))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:94) 
          (Token id:Id.Lit_Chars val:'\trm -rf .git/rebase-apply &&\n' span_id:95) (Token id:Id.Lit_Chars val:'\tgit reset --hard initial &&\n' span_id:96) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git am -p2 -C1 "$tm"/am-test-4-? &&\n'
            span_id: 97
          ) (Token id:Id.Lit_Chars val:'\tgit am --skip &&\n' span_id:98) 
          (Token id:Id.Lit_Chars val:'\tgrep 3 file-1 &&\n' span_id:99) (Token id:Id.Lit_Chars val:'\tgrep "^Three$" file-2\n' span_id:100)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'interrupted am --directory="frotz nitfol"' span_id:107))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:111) 
          (Token id:Id.Lit_Chars val:'\trm -rf .git/rebase-apply &&\n' span_id:112) (Token id:Id.Lit_Chars val:'\tgit reset --hard initial &&\n' span_id:113) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git am --directory="frotz nitfol" "$tm"/am-test-5-? &&\n'
            span_id: 114
          ) (Token id:Id.Lit_Chars val:'\tgit am --skip &&\n' span_id:115) 
          (Token id:Id.Lit_Chars val:'\tgrep One "frotz nitfol/file-5"\n' span_id:116)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'apply to a funny path' span_id:123))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:127) 
          (Token id:Id.Lit_Chars val:'\twith_sq="with' span_id:128)
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:130)) 
        (SQ (Token id:Id.Lit_Chars val:'sq" &&\n' span_id:132) 
          (Token id:Id.Lit_Chars val:'\trm -fr .git/rebase-apply &&\n' span_id:133) (Token id:Id.Lit_Chars val:'\tgit reset --hard initial &&\n' span_id:134) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit am --directory="$with_sq" "$tm"/am-test-5-2 &&\n'
            span_id: 135
          ) (Token id:Id.Lit_Chars val:'\ttest -f "$with_sq/file-5"\n' span_id:136)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'am --reject' span_id:143))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:147) 
          (Token id:Id.Lit_Chars val:'\trm -rf .git/rebase-apply &&\n' span_id:148) (Token id:Id.Lit_Chars val:'\tgit reset --hard initial &&\n' span_id:149) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git am --reject "$tm"/am-test-6-1 &&\n'
            span_id: 150
          ) (Token id:Id.Lit_Chars val:'\tgrep "@@ -1,3 +1,3 @@" file-2.rej &&\n' span_id:151) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git diff-files --exit-code --quiet file-2 &&\n'
            span_id: 152
          ) (Token id:Id.Lit_Chars val:'\tgrep "[-]-reject" .git/rebase-apply/apply-opt\n' span_id:153)
        )
      }
    )
    (C {(test_done)})
  ]
)