changeset 4140:193e0f8d9a47

test-abort-checkin: use a hook to abort the commit This should make it more portable.
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Sun, 04 Mar 2007 14:35:11 -0300
parents efe6f92c0847
children 03e9c22a6489
files tests/test-abort-checkin tests/test-abort-checkin.out
diffstat 2 files changed, 18 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/tests/test-abort-checkin	Sun Mar 04 14:09:29 2007 -0300
+++ b/tests/test-abort-checkin	Sun Mar 04 14:35:11 2007 -0300
@@ -1,12 +1,19 @@
 #!/bin/sh
 
+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
-cat > $HGTMP/false <<EOF
-#!/bin/sh
-exit 1
-EOF
-chmod +x $HGTMP/false
+echo "abortcommit = $abspath" >> $HGRCPATH
 
 hg init foo
 cd foo
@@ -15,7 +22,7 @@
 
 # mq may keep a reference to the repository so __del__ will not be called
 # and .hg/journal.dirstate will not be deleted:
-HGEDITOR=$HGTMP/false hg ci
-HGEDITOR=$HGTMP/false hg ci
+hg ci -m foo
+hg ci -m foo
 
 exit 0
--- a/tests/test-abort-checkin.out	Sun Mar 04 14:09:29 2007 -0300
+++ b/tests/test-abort-checkin.out	Sun Mar 04 14:35:11 2007 -0300
@@ -1,6 +1,8 @@
-abort: edit failed: false exited with status 1
+error: pretxncommit.nocommits hook failed: no commits allowed
+abort: no commits allowed
 transaction abort!
 rollback completed
-abort: edit failed: false exited with status 1
+error: pretxncommit.nocommits hook failed: no commits allowed
+abort: no commits allowed
 transaction abort!
 rollback completed