(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: {(SQ <"detect some push errors early (before contacting remote)">)}
          spids: [4]
        )
      ]
      spids: [4]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(test_expect_success)} {(SQ <"setup commits">)} {(SQ <"\n"> <"\ttest_commit one\n">)})
    (C {(test_expect_success)} {(SQ <"setup remote">)} 
      {(SQ <"\n"> <"\tgit init --bare remote.git &&\n"> <"\tgit remote add origin remote.git\n">)}
    )
    (C {(test_expect_success)} {(SQ <"setup fake receive-pack">)} 
      {
        (SQ <"\n"> <"\tFAKE_RP_ROOT=$(pwd) &&\n"> <"\texport FAKE_RP_ROOT &&\n"> 
          <"\twrite_script fake-rp <<-\\EOF &&\n"> <"\techo yes >\"$FAKE_RP_ROOT\"/rp-ran\n"> <"\texit 1\n"> <"\tEOF\n"> 
          <"\tgit config remote.origin.receivepack \"\\\"\\$FAKE_RP_ROOT/fake-rp\\\"\"\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"detect missing branches early">)} 
      {
        (SQ <"\n"> <"\techo no >rp-ran &&\n"> <"\techo no >expect &&\n"> 
          <"\ttest_must_fail git push origin missing &&\n"> <"\ttest_cmp expect rp-ran\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"detect missing sha1 expressions early">)} 
      {
        (SQ <"\n"> <"\techo no >rp-ran &&\n"> <"\techo no >expect &&\n"> 
          <"\ttest_must_fail git push origin master~2:master &&\n"> <"\ttest_cmp expect rp-ran\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"detect ambiguous refs early">)} 
      {
        (SQ <"\n"> <"\tgit branch foo &&\n"> <"\tgit tag foo &&\n"> <"\techo no >rp-ran &&\n"> 
          <"\techo no >expect &&\n"> <"\ttest_must_fail git push origin foo &&\n"> <"\ttest_cmp expect rp-ran\n">
        )
      }
    )
    (C {(test_done)})
  ]
)