(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:'blaming trough history with topic branches' span_id:6))}
          spids: [4]
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(test_expect_success)} {(setup)} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:46) 
          (Token id:Id.Lit_Chars val:'\ttest_commit A0 file.t line0 &&\n' span_id:47) (Token id:Id.Lit_Chars val:'\ttest_commit A1 &&\n' span_id:48) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard A0 &&\n' span_id:49) (Token id:Id.Lit_Chars val:'\ttest_commit B1 &&\n' span_id:50) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_commit B2 file.t line0changed &&\n'
            span_id: 51
          ) (Token id:Id.Lit_Chars val:'\tgit reset --hard A1 &&\n' span_id:52) 
          (Token id:Id.Lit_Chars val:'\ttest_merge A2 B2 &&\n' span_id:53) (Token id:Id.Lit_Chars val:'\tgit reset --hard A1 &&\n' span_id:54) 
          (Token id:Id.Lit_Chars val:'\ttest_commit C1 &&\n' span_id:55) (Token id:Id.Lit_Chars val:'\tgit reset --hard A2 &&\n' span_id:56) 
          (Token id:Id.Lit_Chars val:'\ttest_merge A3 C1\n' span_id:57) (Token id:Id.Lit_Chars val:'\t' span_id:58)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'blame --reverse --first-parent finds A1' span_id:65))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:69) 
          (Token
            id: Id.Lit_Chars
            val: 
'\tgit blame --porcelain --reverse --first-parent A0..A3 -- file.t >actual_full &&\n'
            span_id: 70
          ) (Token id:Id.Lit_Chars val:'\thead -n 1 <actual_full | sed -e "s/ .*//" >actual &&\n' span_id:71) 
          (Token id:Id.Lit_Chars val:'\tgit rev-parse A1 >expect &&\n' span_id:72) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:73) 
          (Token id:Id.Lit_Chars val:'\t' span_id:74)
        )
      }
    )
    (C {(test_done)})
  ]
)