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