(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 rebase --continue tests' span_id:6))}
          spids: [4]
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(.)} {(DQ ($ Id.VSub_DollarName '$TEST_DIRECTORY')) (/lib-rebase.sh)})
    (C {(set_fake_editor)})
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:setup span_id:29))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:33) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_commit "commit-new-file-F1" F1 1 &&\n'
            span_id: 34
          ) (Token id:Id.Lit_Chars val:'\ttest_commit "commit-new-file-F2" F2 2 &&\n' span_id:35) 
          (Token id:Id.Lit_Chars val:'\n' span_id:36) (Token id:Id.Lit_Chars val:'\tgit checkout -b topic HEAD^ &&\n' span_id:37) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_commit "commit-new-file-F2-on-topic-branch" F2 22 &&\n'
            span_id: 38
          ) (Token id:Id.Lit_Chars val:'\n' span_id:39) 
          (Token id:Id.Lit_Chars val:'\tgit checkout master\n' span_id:40)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'interactive rebase --continue works with touched file'
            span_id: 47
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:51) 
          (Token id:Id.Lit_Chars val:'\trm -fr .git/rebase-* &&\n' span_id:52) (Token id:Id.Lit_Chars val:'\tgit reset --hard &&\n' span_id:53) 
          (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:54) (Token id:Id.Lit_Chars val:'\n' span_id:55) 
          (Token
            id: Id.Lit_Chars
            val: '\tFAKE_LINES="edit 1" git rebase -i HEAD^ &&\n'
            span_id: 56
          ) (Token id:Id.Lit_Chars val:'\ttest-chmtime =-60 F1 &&\n' span_id:57) 
          (Token id:Id.Lit_Chars val:'\tgit rebase --continue\n' span_id:58)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'non-interactive rebase --continue works with touched file'
            span_id: 65
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:69) 
          (Token id:Id.Lit_Chars val:'\trm -fr .git/rebase-* &&\n' span_id:70) (Token id:Id.Lit_Chars val:'\tgit reset --hard &&\n' span_id:71) 
          (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:72) (Token id:Id.Lit_Chars val:'\n' span_id:73) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git rebase --onto master master topic &&\n'
            span_id: 74
          ) (Token id:Id.Lit_Chars val:'\techo "Resolved" >F2 &&\n' span_id:75) 
          (Token id:Id.Lit_Chars val:'\tgit add F2 &&\n' span_id:76) (Token id:Id.Lit_Chars val:'\ttest-chmtime =-60 F1 &&\n' span_id:77) 
          (Token id:Id.Lit_Chars val:'\tgit rebase --continue\n' span_id:78)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'non-interactive rebase --continue with rerere enabled'
            span_id: 85
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:89) 
          (Token id:Id.Lit_Chars val:'\ttest_config rerere.enabled true &&\n' span_id:90) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "test_might_fail git rebase --abort" &&\n'
            span_id: 91
          ) (Token id:Id.Lit_Chars val:'\tgit reset --hard commit-new-file-F2-on-topic-branch &&\n' span_id:92) 
          (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:93) (Token id:Id.Lit_Chars val:'\trm -fr .git/rebase-* &&\n' span_id:94) 
          (Token id:Id.Lit_Chars val:'\n' span_id:95) (Token id:Id.Lit_Chars val:'\ttest_must_fail git rebase --onto master master topic &&\n' span_id:96) 
          (Token id:Id.Lit_Chars val:'\techo "Resolved" >F2 &&\n' span_id:97) (Token id:Id.Lit_Chars val:'\tgit add F2 &&\n' span_id:98) 
          (Token id:Id.Lit_Chars val:'\tcp F2 F2.expected &&\n' span_id:99) (Token id:Id.Lit_Chars val:'\tgit rebase --continue &&\n' span_id:100) 
          (Token id:Id.Lit_Chars val:'\n' span_id:101) (Token id:Id.Lit_Chars val:'\tgit reset --hard commit-new-file-F2-on-topic-branch &&\n' span_id:102) 
          (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:103) (Token id:Id.Lit_Chars val:'\ttest_must_fail git rebase --onto master master topic &&\n' span_id:104) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp F2.expected F2\n' span_id:105)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'rebase --continue can not be used with other options'
            span_id: 112
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:116) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git rebase -v --continue &&\n'
            span_id: 117
          ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git rebase --continue -v\n' span_id:118)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'rebase --continue remembers merge strategy and options'
            span_id: 125
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:129) 
          (Token id:Id.Lit_Chars val:'\trm -fr .git/rebase-* &&\n' span_id:130) (Token id:Id.Lit_Chars val:'\tgit reset --hard commit-new-file-F2-on-topic-branch &&\n' span_id:131) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_commit "commit-new-file-F3-on-topic-branch" F3 32 &&\n'
            span_id: 132
          ) (Token id:Id.Lit_Chars val:'\ttest_when_finished "rm -fr test-bin funny.was.run" &&\n' span_id:133) 
          (Token id:Id.Lit_Chars val:'\tmkdir test-bin &&\n' span_id:134) (Token id:Id.Lit_Chars val:'\tcat >test-bin/git-merge-funny <<-EOF &&\n' span_id:135) 
          (Token id:Id.Lit_Chars val:'\t#!$SHELL_PATH\n' span_id:136) (Token id:Id.Lit_Chars val:'\tcase "\\$1" in --opt) ;; *) exit 2 ;; esac\n' span_id:137) 
          (Token id:Id.Lit_Chars val:'\tshift &&\n' span_id:138) (Token id:Id.Lit_Chars val:'\t>funny.was.run &&\n' span_id:139) 
          (Token id:Id.Lit_Chars val:'\texec git merge-recursive "\\$@"\n' span_id:140) (Token id:Id.Lit_Chars val:'\tEOF\n' span_id:141) 
          (Token
            id: Id.Lit_Chars
            val: '\tchmod +x test-bin/git-merge-funny &&\n'
            span_id: 142
          ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:143) 
          (Token id:Id.Lit_Chars val:'\t\tPATH=./test-bin:$PATH\n' span_id:144) (Token id:Id.Lit_Chars val:'\t\ttest_must_fail git rebase -s funny -Xopt master topic\n' span_id:145) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:146) (Token id:Id.Lit_Chars val:'\ttest -f funny.was.run &&\n' span_id:147) 
          (Token id:Id.Lit_Chars val:'\trm funny.was.run &&\n' span_id:148) (Token id:Id.Lit_Chars val:'\techo "Resolved" >F2 &&\n' span_id:149) 
          (Token id:Id.Lit_Chars val:'\tgit add F2 &&\n' span_id:150) (Token id:Id.Lit_Chars val:'\t(\n' span_id:151) 
          (Token id:Id.Lit_Chars val:'\t\tPATH=./test-bin:$PATH\n' span_id:152) (Token id:Id.Lit_Chars val:'\t\tgit rebase --continue\n' span_id:153) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:154) (Token id:Id.Lit_Chars val:'\ttest -f funny.was.run\n' span_id:155)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'rebase --continue remembers --rerere-autoupdate' span_id:162))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:166) 
          (Token id:Id.Lit_Chars val:'\trm -fr .git/rebase-* &&\n' span_id:167) (Token id:Id.Lit_Chars val:'\tgit reset --hard commit-new-file-F3-on-topic-branch &&\n' span_id:168) 
          (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:169) (Token id:Id.Lit_Chars val:'\ttest_commit "commit-new-file-F3" F3 3 &&\n' span_id:170) 
          (Token id:Id.Lit_Chars val:'\tgit config rerere.enabled true &&\n' span_id:171) (Token id:Id.Lit_Chars val:'\ttest_must_fail git rebase -m master topic &&\n' span_id:172) 
          (Token id:Id.Lit_Chars val:'\techo "Resolved" >F2 &&\n' span_id:173) (Token id:Id.Lit_Chars val:'\tgit add F2 &&\n' span_id:174) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git rebase --continue &&\n'
            span_id: 175
          ) (Token id:Id.Lit_Chars val:'\techo "Resolved" >F3 &&\n' span_id:176) 
          (Token id:Id.Lit_Chars val:'\tgit add F3 &&\n' span_id:177) (Token id:Id.Lit_Chars val:'\tgit rebase --continue &&\n' span_id:178) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard topic@{1} &&\n' span_id:179) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git rebase -m --rerere-autoupdate master &&\n'
            span_id: 180
          ) (Token id:Id.Lit_Chars val:'\ttest "$(cat F2)" = "Resolved" &&\n' span_id:181) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git rebase --continue &&\n'
            span_id: 182
          ) (Token id:Id.Lit_Chars val:'\ttest "$(cat F3)" = "Resolved" &&\n' span_id:183) 
          (Token id:Id.Lit_Chars val:'\tgit rebase --continue\n' span_id:184)
        )
      }
    )
    (C {(test_done)})
  ]
)