# HG changeset patch # User Matt Mackall # Date 1285526601 18000 # Node ID 05e1171cf4cabc52e48295fc625c4cc992e2431b # Parent 3160698100c605d6fda8ba68087decc6825c78fb tests: unify test-mq-qpush-fail diff -r 3160698100c6 -r 05e1171cf4ca tests/test-mq-qpush-fail --- a/tests/test-mq-qpush-fail Sun Sep 26 13:43:21 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,62 +0,0 @@ -#!/bin/sh - -# Test that qpush cleans things up if it doesn't complete - -echo "[extensions]" >> $HGRCPATH -echo "mq=" >> $HGRCPATH - -hg init repo -cd repo - -echo foo > foo -hg ci -Am 'add foo' - -touch untracked-file -echo 'syntax: glob' > .hgignore -echo '.hgignore' >> .hgignore - -hg qinit - -echo '% test qpush on empty series' -hg qpush - -hg qnew patch1 -echo >> foo -hg qrefresh -m 'patch 1' - -hg qnew patch2 -echo bar > bar -hg add bar -hg qrefresh -m 'patch 2' - -hg qnew --config 'mq.plain=true' bad-patch -echo >> foo -hg qrefresh - -hg qpop -a - -python -c 'print "\xe9"' > message -cat .hg/patches/bad-patch >> message -mv message .hg/patches/bad-patch - -hg qpush -a && echo 'qpush succeded?!' - -hg parents - -echo '% bar should be gone; other unknown/ignored files should still be around' -hg status -A - -echo '% preparing qpush of a missing patch' -hg qpop -a -hg qpush -rm .hg/patches/patch2 -echo '% now we expect the push to fail, but it should NOT complain about patch1' -hg qpush - -echo '% preparing qpush of missing patch with no patch applied' -hg qpop -a -rm .hg/patches/patch1 -echo '% qpush should fail the same way as below' -hg qpush - -true # happy ending diff -r 3160698100c6 -r 05e1171cf4ca tests/test-mq-qpush-fail.out --- a/tests/test-mq-qpush-fail.out Sun Sep 26 13:43:21 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ -adding foo -% test qpush on empty series -no patches in series -popping bad-patch -popping patch2 -popping patch1 -patch queue now empty -applying patch1 -applying patch2 -applying bad-patch -transaction abort! -rollback completed -cleaning up working directory...done -abort: decoding near 'é': 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)! -changeset: 0:bbd179dfa0a7 -tag: tip -user: test -date: Thu Jan 01 00:00:00 1970 +0000 -summary: add foo - -% bar should be gone; other unknown/ignored files should still be around -? untracked-file -I .hgignore -C foo -% preparing qpush of a missing patch -no patches applied -applying patch1 -now at: patch1 -% now we expect the push to fail, but it should NOT complain about patch1 -applying patch2 -unable to read patch2 -now at: patch1 -% preparing qpush of missing patch with no patch applied -popping patch1 -patch queue now empty -% qpush should fail the same way as below -applying patch1 -unable to read patch1 diff -r 3160698100c6 -r 05e1171cf4ca tests/test-mq-qpush-fail.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-mq-qpush-fail.t Sun Sep 26 13:43:21 2010 -0500 @@ -0,0 +1,90 @@ +Test that qpush cleans things up if it doesn't complete + + $ echo "[extensions]" >> $HGRCPATH + $ echo "mq=" >> $HGRCPATH + $ hg init repo + $ cd repo + $ echo foo > foo + $ hg ci -Am 'add foo' + adding foo + $ touch untracked-file + $ echo 'syntax: glob' > .hgignore + $ echo '.hgignore' >> .hgignore + $ hg qinit + +test qpush on empty series + + $ hg qpush + no patches in series + $ hg qnew patch1 + $ echo >> foo + $ hg qrefresh -m 'patch 1' + $ hg qnew patch2 + $ echo bar > bar + $ hg add bar + $ hg qrefresh -m 'patch 2' + $ hg qnew --config 'mq.plain=true' bad-patch + $ echo >> foo + $ hg qrefresh + $ hg qpop -a + popping bad-patch + popping patch2 + popping patch1 + patch queue now empty + $ python -c 'print "\xe9"' > message + $ cat .hg/patches/bad-patch >> message + $ mv message .hg/patches/bad-patch + $ hg qpush -a && echo 'qpush succeded?!' + applying patch1 + applying patch2 + applying bad-patch + transaction abort! + rollback completed + cleaning up working directory...done + abort: decoding near 'é': 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)! + [255] + $ hg parents + changeset: 0:bbd179dfa0a7 + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: add foo + + +bar should be gone; other unknown/ignored files should still be around + + $ hg status -A + ? untracked-file + I .hgignore + C foo + +preparing qpush of a missing patch + + $ hg qpop -a + no patches applied + $ hg qpush + applying patch1 + now at: patch1 + $ rm .hg/patches/patch2 + +now we expect the push to fail, but it should NOT complain about patch1 + + $ hg qpush + applying patch2 + unable to read patch2 + now at: patch1 + [1] + +preparing qpush of missing patch with no patch applied + + $ hg qpop -a + popping patch1 + patch queue now empty + $ rm .hg/patches/patch1 + +qpush should fail the same way as below + + $ hg qpush + applying patch1 + unable to read patch1 + [1]