(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:'Tests rebase performance' span_id:6))}
          spids: [4]
        )
      ]
    )
    (C {(.)} {(./perf-lib.sh)})
    (C {(test_perf_default_repo)})
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:setup span_id:20))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:24) 
          (Token id:Id.Lit_Chars val:'\tgit checkout -f -b base &&\n' span_id:25) (Token id:Id.Lit_Chars val:'\tgit checkout -b to-rebase &&\n' span_id:26) 
          (Token id:Id.Lit_Chars val:'\tgit checkout -b upstream &&\n' span_id:27) (Token id:Id.Lit_Chars val:'\tfor i in $(seq 100)\n' span_id:28) 
          (Token id:Id.Lit_Chars val:'\tdo\n' span_id:29) (Token id:Id.Lit_Chars val:'\t\t# simulate huge diffs\n' span_id:30) 
          (Token id:Id.Lit_Chars val:'\t\techo change$i >unrelated-file$i &&\n' span_id:31) (Token id:Id.Lit_Chars val:'\t\tseq 1000 >>unrelated-file$i &&\n' span_id:32) 
          (Token id:Id.Lit_Chars val:'\t\tgit add unrelated-file$i &&\n' span_id:33) (Token id:Id.Lit_Chars val:'\t\ttest_tick &&\n' span_id:34) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit commit -m commit$i unrelated-file$i &&\n'
            span_id: 35
          ) (Token id:Id.Lit_Chars val:'\t\techo change$i >unrelated-file$i &&\n' span_id:36) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tseq 1000 | tac >>unrelated-file$i &&\n'
            span_id: 37
          ) (Token id:Id.Lit_Chars val:'\t\tgit add unrelated-file$i &&\n' span_id:38) 
          (Token id:Id.Lit_Chars val:'\t\ttest_tick &&\n' span_id:39) (Token id:Id.Lit_Chars val:'\t\tgit commit -m commit$i-reverse unrelated-file$i ||\n' span_id:40) 
          (Token id:Id.Lit_Chars val:'\t\tbreak\n' span_id:41) (Token id:Id.Lit_Chars val:'\tdone &&\n' span_id:42) 
          (Token id:Id.Lit_Chars val:'\tgit checkout to-rebase &&\n' span_id:43) (Token id:Id.Lit_Chars val:'\ttest_commit our-patch interesting-file\n' span_id:44)
        )
      }
    )
    (C {(test_perf)} 
      {(SQ (Token id:Id.Lit_Chars val:'rebase on top of a lot of unrelated changes' span_id:51))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:55) 
          (Token id:Id.Lit_Chars val:'\tgit rebase --onto upstream HEAD^ &&\n' span_id:56) (Token id:Id.Lit_Chars val:'\tgit rebase --onto base HEAD^\n' span_id:57)
        )
      }
    )
    (C {(test_done)})
  ]
)