Mercurial > hg
changeset 12466:3160698100c6
tests: unify test-mq-qnew
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Sun, 26 Sep 2010 13:43:21 -0500 |
parents | 8b12768b15e2 |
children | 05e1171cf4ca |
files | tests/test-mq-qnew tests/test-mq-qnew.out tests/test-mq-qnew.t |
diffstat | 3 files changed, 223 insertions(+), 235 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test-mq-qnew Sun Sep 26 13:43:21 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,115 +0,0 @@ -#!/bin/sh - -catpatch() { - cat $1 | sed -e "s/^\(# Parent \).*/\1/" -} - -echo "[extensions]" >> $HGRCPATH -echo "mq=" >> $HGRCPATH - -runtest() { - hg init mq - cd mq - - echo a > a - hg ci -Ama - - echo '% qnew should refuse bad patch names' - hg qnew series - hg qnew status - hg qnew guards - hg qnew .hgignore - hg qnew .mqfoo - hg qnew 'foo#bar' - hg qnew 'foo:bar' - - hg qinit -c - - echo '% qnew with name containing slash' - hg qnew foo/bar.patch - hg qseries - hg qpop - hg qdelete foo/bar.patch - - echo '% qnew with uncommitted changes' - echo a > somefile - hg add somefile - hg qnew uncommitted.patch - hg st - hg qseries - - echo '% qnew implies add' - hg -R .hg/patches st - - echo '% qnew missing' - hg qnew missing.patch missing - - echo '% qnew -m' - hg qnew -m 'foo bar' mtest.patch - catpatch .hg/patches/mtest.patch - - echo '% qnew twice' - hg qnew first.patch - hg qnew first.patch - - touch ../first.patch - hg qimport ../first.patch - - echo '% qnew -f from a subdirectory' - hg qpop -a - mkdir d - cd d - echo b > b - hg ci -Am t - echo b >> b - hg st - hg qnew -g -f p - catpatch ../.hg/patches/p - - echo '% qnew -u with no username configured' - HGUSER= hg qnew -u blue red - catpatch ../.hg/patches/red - - echo '% qnew -e -u with no username configured' - HGUSER= hg qnew -e -u chartreuse fucsia - catpatch ../.hg/patches/fucsia - - echo '% fail when trying to import a merge' - hg init merge - cd merge - touch a - hg ci -Am null - echo a >> a - hg ci -m a - hg up -r 0 - echo b >> a - hg ci -m b - hg merge -f 1 - hg resolve --mark a - hg qnew -f merge - - cd ../../.. - rm -r mq -} - - -echo '%%% plain headers' - -echo "[mq]" >> $HGRCPATH -echo "plain=true" >> $HGRCPATH - -mkdir sandbox -(cd sandbox ; runtest) -rm -r sandbox - - -echo '%%% hg headers' - -echo "plain=false" >> $HGRCPATH - -mkdir sandbox -(cd sandbox ; runtest) -rm -r sandbox - - -exit 0
--- a/tests/test-mq-qnew.out Sun Sep 26 13:43:21 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,120 +0,0 @@ -%%% plain headers -adding a -% qnew should refuse bad patch names -abort: "series" cannot be used as the name of a patch -abort: "status" cannot be used as the name of a patch -abort: "guards" cannot be used as the name of a patch -abort: ".hgignore" cannot be used as the name of a patch -abort: ".mqfoo" cannot be used as the name of a patch -abort: "foo#bar" cannot be used as the name of a patch -abort: "foo:bar" cannot be used as the name of a patch -% qnew with name containing slash -foo/bar.patch -popping foo/bar.patch -patch queue now empty -% qnew with uncommitted changes -uncommitted.patch -% qnew implies add -A .hgignore -A series -A uncommitted.patch -% qnew missing -abort: missing: No such file or directory -% qnew -m -foo bar - -% qnew twice -abort: patch "first.patch" already exists -abort: patch "first.patch" already exists -% qnew -f from a subdirectory -popping first.patch -popping mtest.patch -popping uncommitted.patch -patch queue now empty -adding d/b -M d/b -diff --git a/d/b b/d/b ---- a/d/b -+++ b/d/b -@@ -1,1 +1,2 @@ - b -+b -% qnew -u with no username configured -From: blue - -% qnew -e -u with no username configured -From: chartreuse - -% fail when trying to import a merge -adding a -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -created new head -merging a -warning: conflicts during merge. -merging a failed! -0 files updated, 0 files merged, 0 files removed, 1 files unresolved -use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon -abort: cannot manage merge changesets -%%% hg headers -adding a -% qnew should refuse bad patch names -abort: "series" cannot be used as the name of a patch -abort: "status" cannot be used as the name of a patch -abort: "guards" cannot be used as the name of a patch -abort: ".hgignore" cannot be used as the name of a patch -abort: ".mqfoo" cannot be used as the name of a patch -abort: "foo#bar" cannot be used as the name of a patch -abort: "foo:bar" cannot be used as the name of a patch -% qnew with name containing slash -foo/bar.patch -popping foo/bar.patch -patch queue now empty -% qnew with uncommitted changes -uncommitted.patch -% qnew implies add -A .hgignore -A series -A uncommitted.patch -% qnew missing -abort: missing: No such file or directory -% qnew -m -# HG changeset patch -# Parent -foo bar - -% qnew twice -abort: patch "first.patch" already exists -abort: patch "first.patch" already exists -% qnew -f from a subdirectory -popping first.patch -popping mtest.patch -popping uncommitted.patch -patch queue now empty -adding d/b -M d/b -# HG changeset patch -# Parent -diff --git a/d/b b/d/b ---- a/d/b -+++ b/d/b -@@ -1,1 +1,2 @@ - b -+b -% qnew -u with no username configured -# HG changeset patch -# Parent -# User blue -% qnew -e -u with no username configured -# HG changeset patch -# Parent -# User chartreuse -% fail when trying to import a merge -adding a -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -created new head -merging a -warning: conflicts during merge. -merging a failed! -0 files updated, 0 files merged, 0 files removed, 1 files unresolved -use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon -abort: cannot manage merge changesets
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-mq-qnew.t Sun Sep 26 13:43:21 2010 -0500 @@ -0,0 +1,223 @@ + + $ catpatch() { + > cat $1 | sed -e "s/^\(# Parent \).*/\1/" + > } + $ echo "[extensions]" >> $HGRCPATH + $ echo "mq=" >> $HGRCPATH + $ runtest() { + > hg init mq + > cd mq + > + > echo a > a + > hg ci -Ama + > + > echo '% qnew should refuse bad patch names' + > hg qnew series + > hg qnew status + > hg qnew guards + > hg qnew .hgignore + > hg qnew .mqfoo + > hg qnew 'foo#bar' + > hg qnew 'foo:bar' + > + > hg qinit -c + > + > echo '% qnew with name containing slash' + > hg qnew foo/bar.patch + > hg qseries + > hg qpop + > hg qdelete foo/bar.patch + > + > echo '% qnew with uncommitted changes' + > echo a > somefile + > hg add somefile + > hg qnew uncommitted.patch + > hg st + > hg qseries + > + > echo '% qnew implies add' + > hg -R .hg/patches st + > + > echo '% qnew missing' + > hg qnew missing.patch missing + > + > echo '% qnew -m' + > hg qnew -m 'foo bar' mtest.patch + > catpatch .hg/patches/mtest.patch + > + > echo '% qnew twice' + > hg qnew first.patch + > hg qnew first.patch + > + > touch ../first.patch + > hg qimport ../first.patch + > + > echo '% qnew -f from a subdirectory' + > hg qpop -a + > mkdir d + > cd d + > echo b > b + > hg ci -Am t + > echo b >> b + > hg st + > hg qnew -g -f p + > catpatch ../.hg/patches/p + > + > echo '% qnew -u with no username configured' + > HGUSER= hg qnew -u blue red + > catpatch ../.hg/patches/red + > + > echo '% qnew -e -u with no username configured' + > HGUSER= hg qnew -e -u chartreuse fucsia + > catpatch ../.hg/patches/fucsia + > + > echo '% fail when trying to import a merge' + > hg init merge + > cd merge + > touch a + > hg ci -Am null + > echo a >> a + > hg ci -m a + > hg up -r 0 + > echo b >> a + > hg ci -m b + > hg merge -f 1 + > hg resolve --mark a + > hg qnew -f merge + > + > cd ../../.. + > rm -r mq + > } + +plain headers + + $ echo "[mq]" >> $HGRCPATH + $ echo "plain=true" >> $HGRCPATH + $ mkdir sandbox + $ (cd sandbox ; runtest) + adding a + % qnew should refuse bad patch names + abort: "series" cannot be used as the name of a patch + abort: "status" cannot be used as the name of a patch + abort: "guards" cannot be used as the name of a patch + abort: ".hgignore" cannot be used as the name of a patch + abort: ".mqfoo" cannot be used as the name of a patch + abort: "foo#bar" cannot be used as the name of a patch + abort: "foo:bar" cannot be used as the name of a patch + % qnew with name containing slash + foo/bar.patch + popping foo/bar.patch + patch queue now empty + % qnew with uncommitted changes + uncommitted.patch + % qnew implies add + A .hgignore + A series + A uncommitted.patch + % qnew missing + abort: missing: No such file or directory + % qnew -m + foo bar + + % qnew twice + abort: patch "first.patch" already exists + abort: patch "first.patch" already exists + % qnew -f from a subdirectory + popping first.patch + popping mtest.patch + popping uncommitted.patch + patch queue now empty + adding d/b + M d/b + diff --git a/d/b b/d/b + --- a/d/b + +++ b/d/b + @@ -1,1 +1,2 @@ + b + +b + % qnew -u with no username configured + From: blue + + % qnew -e -u with no username configured + From: chartreuse + + % fail when trying to import a merge + adding a + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + created new head + merging a + warning: conflicts during merge. + merging a failed! + 0 files updated, 0 files merged, 0 files removed, 1 files unresolved + use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon + abort: cannot manage merge changesets + $ rm -r sandbox + +hg headers + + $ echo "plain=false" >> $HGRCPATH + $ mkdir sandbox + $ (cd sandbox ; runtest) + adding a + % qnew should refuse bad patch names + abort: "series" cannot be used as the name of a patch + abort: "status" cannot be used as the name of a patch + abort: "guards" cannot be used as the name of a patch + abort: ".hgignore" cannot be used as the name of a patch + abort: ".mqfoo" cannot be used as the name of a patch + abort: "foo#bar" cannot be used as the name of a patch + abort: "foo:bar" cannot be used as the name of a patch + % qnew with name containing slash + foo/bar.patch + popping foo/bar.patch + patch queue now empty + % qnew with uncommitted changes + uncommitted.patch + % qnew implies add + A .hgignore + A series + A uncommitted.patch + % qnew missing + abort: missing: No such file or directory + % qnew -m + # HG changeset patch + # Parent + foo bar + + % qnew twice + abort: patch "first.patch" already exists + abort: patch "first.patch" already exists + % qnew -f from a subdirectory + popping first.patch + popping mtest.patch + popping uncommitted.patch + patch queue now empty + adding d/b + M d/b + # HG changeset patch + # Parent + diff --git a/d/b b/d/b + --- a/d/b + +++ b/d/b + @@ -1,1 +1,2 @@ + b + +b + % qnew -u with no username configured + # HG changeset patch + # Parent + # User blue + % qnew -e -u with no username configured + # HG changeset patch + # Parent + # User chartreuse + % fail when trying to import a merge + adding a + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + created new head + merging a + warning: conflicts during merge. + merging a failed! + 0 files updated, 0 files merged, 0 files removed, 1 files unresolved + use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon + abort: cannot manage merge changesets + $ rm -r sandbox