(command.CommandList
  children: [
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:test_description)
          op: Equal
          rhs: {(SQ <'test auto-generated merge messages'>)}
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (command.FuncDef
      name: check_oneline
      body: 
        (command.BraceGroup
          children: [
            (command.AndOr
              ops: [Op_DAmp Op_DAmp]
              children: [
                (command.Pipeline
                  children: [
                    (C {(echo)} {(DQ ($ VSub_Number '$1'))})
                    (command.SimpleCommand
                      words: [{(sed)} {(DQ ("s/Q/'/g"))}]
                      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)})]
                    )
                  ]
                  negated: F
                )
                (command.SimpleCommand
                  words: [
                    {(git)}
                    {(log)}
                    {(-1)}
                    {(--pretty) (Lit_Other '=') (tformat) (Lit_Other ':') (Lit_Other '%') (s)}
                  ]
                  redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(actual)})]
                )
                (C {(test_cmp)} {(expect)} {(actual)})
              ]
            )
          ]
        )
    )
    (C {(test_expect_success)} {(SQ <'merge local branch'>)} 
      {
        (SQ <'\n'> <'\ttest_commit master-1 &&\n'> <'\tgit checkout -b local-branch &&\n'> 
          <'\ttest_commit branch-1 &&\n'> <'\tgit checkout master &&\n'> <'\ttest_commit master-2 &&\n'> <'\tgit merge local-branch &&\n'> 
          <'\tcheck_oneline "Merge branch Qlocal-branchQ"\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'merge octopus branches'>)} 
      {
        (SQ <'\n'> <'\tgit checkout -b octopus-a master &&\n'> <'\ttest_commit octopus-1 &&\n'> 
          <'\tgit checkout -b octopus-b master &&\n'> <'\ttest_commit octopus-2 &&\n'> <'\tgit checkout master &&\n'> 
          <'\tgit merge octopus-a octopus-b &&\n'> <'\tcheck_oneline "Merge branches Qoctopus-aQ and Qoctopus-bQ"\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'merge tag'>)} 
      {
        (SQ <'\n'> <'\tgit checkout -b tag-branch master &&\n'> <'\ttest_commit tag-1 &&\n'> 
          <'\tgit checkout master &&\n'> <'\ttest_commit master-3 &&\n'> <'\tgit merge tag-1 &&\n'> <'\tcheck_oneline "Merge tag Qtag-1Q"\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'ambiguous tag'>)} 
      {
        (SQ <'\n'> <'\tgit checkout -b ambiguous master &&\n'> <'\ttest_commit ambiguous &&\n'> 
          <'\tgit checkout master &&\n'> <'\ttest_commit master-4 &&\n'> <'\tgit merge ambiguous &&\n'> 
          <'\tcheck_oneline "Merge tag QambiguousQ"\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'remote-tracking branch'>)} 
      {
        (SQ <'\n'> <'\tgit checkout -b remote master &&\n'> <'\ttest_commit remote-1 &&\n'> 
          <'\tgit update-ref refs/remotes/origin/master remote &&\n'> <'\tgit checkout master &&\n'> <'\ttest_commit master-5 &&\n'> <'\tgit merge origin/master &&\n'> 
          <'\tcheck_oneline "Merge remote-tracking branch Qorigin/masterQ"\n'>
        )
      }
    )
    (C {(test_done)})
  ]
)