diff -r 9f9ec4abe700 -r 520defbc0335 tests/test-mq-qrefresh-replace-log-message.t --- a/tests/test-mq-qrefresh-replace-log-message.t Sat Oct 17 01:15:34 2015 +0900 +++ b/tests/test-mq-qrefresh-replace-log-message.t Sat Oct 17 01:15:34 2015 +0900 @@ -242,3 +242,85 @@ ==== 0:25e397dabed2 ==== + +== test visibility to precommit external hook + + $ hg update -C -q + $ rm -f file2 + $ hg qpush -q second-patch --config hooks.pretxncommit.unexpectedabort= + now at: second-patch + $ echo bbbb >> file2 + + $ cat >> .hg/hgrc < [hooks] + > precommit.checkvisibility = sh "$TESTTMP/checkvisibility.sh" + > EOF + + $ sh "$TESTTMP/checkvisibility.sh" + ==== + 1:e30108269082 + M file2 + ==== + + $ hg qrefresh + ==== + 0:25e397dabed2 + A file2 + ==== + transaction abort! + rollback completed + refresh interrupted while patch was popped! (revert --all, qpush to recover) + abort: pretxncommit.unexpectedabort hook exited with status 1 + [255] + + $ sh "$TESTTMP/checkvisibility.sh" + ==== + 0:25e397dabed2 + ==== + + $ cat >> .hg/hgrc < [hooks] + > precommit.checkvisibility = + > EOF + +== test visibility to pretxncommit external hook + + $ hg update -C -q + $ rm -f file2 + $ hg qpush -q second-patch --config hooks.pretxncommit.unexpectedabort= + now at: second-patch + $ echo bbbb >> file2 + + $ cat >> .hg/hgrc < [hooks] + > pretxncommit.checkvisibility = sh "$TESTTMP/checkvisibility.sh" + > # make checkvisibility run before unexpectedabort + > priority.pretxncommit.checkvisibility = 10 + > EOF + + $ sh "$TESTTMP/checkvisibility.sh" + ==== + 1:e30108269082 + M file2 + ==== + + $ hg qrefresh + ==== + 0:25e397dabed2 + A file2 + ==== + transaction abort! + rollback completed + refresh interrupted while patch was popped! (revert --all, qpush to recover) + abort: pretxncommit.unexpectedabort hook exited with status 1 + [255] + + $ sh "$TESTTMP/checkvisibility.sh" + ==== + 0:25e397dabed2 + ==== + + $ cat >> .hg/hgrc < [hooks] + > pretxncommit.checkvisibility = + > EOF