diff tests/test-abort-checkin.t @ 11848:f54ff49393fb

tests: unify test-abort-checkin
author Martin Geisler <mg@lazybytes.net>
date Sat, 14 Aug 2010 02:03:01 +0200
parents tests/test-abort-checkin@193e0f8d9a47
children 4134686b83e1
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-abort-checkin.t	Sat Aug 14 02:03:01 2010 +0200
@@ -0,0 +1,33 @@
+  $ cat > abortcommit.py <<EOF
+  > from mercurial import util
+  > def hook(**args):
+  >     raise util.Abort("no commits allowed")
+  > def reposetup(ui, repo):
+  >     repo.ui.setconfig("hooks", "pretxncommit.nocommits", hook)
+  > EOF
+  $ abspath=`pwd`/abortcommit.py
+
+  $ echo "[extensions]" >> $HGRCPATH
+  $ echo "mq=" >> $HGRCPATH
+  $ echo "abortcommit = $abspath" >> $HGRCPATH
+
+  $ hg init foo
+  $ cd foo
+  $ echo foo > foo
+  $ hg add foo
+
+mq may keep a reference to the repository so __del__ will not be
+called and .hg/journal.dirstate will not be deleted:
+
+  $ hg ci -m foo
+  error: pretxncommit.nocommits hook failed: no commits allowed
+  transaction abort!
+  rollback completed
+  abort: no commits allowed
+  $ hg ci -m foo
+  error: pretxncommit.nocommits hook failed: no commits allowed
+  transaction abort!
+  rollback completed
+  abort: no commits allowed
+
+  $ exit 0