(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:'remote push rejects are reported by client' span_id:6))}
          spids: [4]
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:setup span_id:18))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:22) 
          (Token id:Id.Lit_Chars val:'\tmkdir .git/hooks &&\n' span_id:23) (Token id:Id.Lit_Chars val:'\t(echo "#!/bin/sh" ; echo "exit 1") >.git/hooks/update &&\n' span_id:24) 
          (Token id:Id.Lit_Chars val:'\tchmod +x .git/hooks/update &&\n' span_id:25) (Token id:Id.Lit_Chars val:'\techo 1 >file &&\n' span_id:26) 
          (Token id:Id.Lit_Chars val:'\tgit add file &&\n' span_id:27) (Token id:Id.Lit_Chars val:'\tgit commit -m 1 &&\n' span_id:28) 
          (Token id:Id.Lit_Chars val:'\tgit clone . child &&\n' span_id:29) (Token id:Id.Lit_Chars val:'\tcd child &&\n' span_id:30) 
          (Token id:Id.Lit_Chars val:'\techo 2 >file &&\n' span_id:31) (Token id:Id.Lit_Chars val:'\tgit commit -a -m 2\n' span_id:32)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'push reports error' span_id:39))} 
      {(SQ (Token id:Id.Lit_Chars val:'test_must_fail git push 2>stderr' span_id:43))}
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'individual ref reports error' span_id:50))} {(SQ (Token id:Id.Lit_Chars val:'grep rejected stderr' span_id:54))}
    )
    (C {(test_done)})
  ]
)