tests: unify test-merge-prompt
authorAdrian Buehlmann <adrian@cadifra.com>
Sun, 12 Sep 2010 11:52:13 +0200
changeset 12259 7b05cb9ac6d2
parent 12258 98ec977aa61e
child 12260 0a63e91c519d
tests: unify test-merge-prompt
tests/test-merge-prompt
tests/test-merge-prompt.out
tests/test-merge-prompt.t
--- a/tests/test-merge-prompt	Sat Sep 11 21:19:12 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-#!/bin/sh
-#
-# Test for b5605d88dc27
-#  Make ui.prompt repeat on "unrecognized response" again (issue897)
-# and for 840e2b315c1f
-#  Fix misleading error and prompts during update/merge (issue556)
-
-status() {
-    [ $? -ne 0 ] && echo "failed."
-    echo "status:"
-    hg st -A file1 file2
-    for file in file1 file2; do
-        if [ -f $file ]; then
-            echo "$file:"
-            cat $file
-        else
-            echo "$file does not exist"
-        fi
-    done
-}
-
-hg init repo
-cd repo
-echo 1 > file1
-echo 2 > file2
-hg ci -Am 'added file1 and file2' # rev 0
-
-hg rm file1
-echo changed >> file2
-hg ci -m 'removed file1, changed file2' # rev 1
-
-hg co 0
-echo changed >> file1
-hg rm file2
-hg ci -m 'changed file1, removed file2' # rev 2
-
-echo
-echo "# non-interactive merge"
-hg merge -y || echo "failed"
-status
-
-echo
-echo "# interactive merge"
-hg co -C
-hg merge --config ui.interactive=true <<EOF || echo "failed"
-c
-d
-EOF
-status
-
-echo
-echo "# interactive merge with bad input"
-hg co -C
-hg merge --config ui.interactive=true <<EOF || echo "failed"
-foo
-bar
-d
-baz
-c
-EOF
-status
-
-echo
-echo "# interactive merge with not enough input"
-hg co -C
-hg merge --config ui.interactive=true <<EOF || echo "failed"
-d
-EOF
-status
--- a/tests/test-merge-prompt.out	Sat Sep 11 21:19:12 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-adding file1
-adding file2
-2 files updated, 0 files merged, 0 files removed, 0 files unresolved
-created new head
-
-# non-interactive merge
- local changed file1 which remote deleted
-use (c)hanged version or (d)elete? c
-remote changed file2 which local deleted
-use (c)hanged version or leave (d)eleted? c
-1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-(branch merge, don't forget to commit)
-status:
-M file2
-C file1
-file1:
-1
-changed
-file2:
-2
-changed
-
-# interactive merge
-0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- local changed file1 which remote deleted
-use (c)hanged version or (d)elete? remote changed file2 which local deleted
-use (c)hanged version or leave (d)eleted? 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-(branch merge, don't forget to commit)
-status:
-file2: No such file or directory
-C file1
-file1:
-1
-changed
-file2 does not exist
-
-# interactive merge with bad input
-0 files updated, 0 files merged, 0 files removed, 0 files unresolved
- local changed file1 which remote deleted
-use (c)hanged version or (d)elete? unrecognized response
- local changed file1 which remote deleted
-use (c)hanged version or (d)elete? unrecognized response
- local changed file1 which remote deleted
-use (c)hanged version or (d)elete? remote changed file2 which local deleted
-use (c)hanged version or leave (d)eleted? unrecognized response
-remote changed file2 which local deleted
-use (c)hanged version or leave (d)eleted? 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
-(branch merge, don't forget to commit)
-status:
-M file2
-R file1
-file1 does not exist
-file2:
-2
-changed
-
-# interactive merge with not enough input
-1 files updated, 0 files merged, 1 files removed, 0 files unresolved
- local changed file1 which remote deleted
-use (c)hanged version or (d)elete? remote changed file2 which local deleted
-use (c)hanged version or leave (d)eleted? abort: response expected
-failed
-status:
-file2: No such file or directory
-C file1
-file1:
-1
-changed
-file2 does not exist
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-merge-prompt.t	Sun Sep 12 11:52:13 2010 +0200
@@ -0,0 +1,144 @@
+# Test for
+#
+#   b5605d88dc27: Make ui.prompt repeat on "unrecognized response" again
+#                 (issue897)
+#
+#   840e2b315c1f: Fix misleading error and prompts during update/merge
+#                 (issue556)
+
+  $ status() {
+  >     [ $? -ne 0 ] && echo "failed."
+  >     echo "--- status ---"
+  >     hg st -A file1 file2
+  >     for file in file1 file2; do
+  >         if [ -f $file ]; then
+  >             echo "--- $file ---"
+  >             cat $file
+  >         else
+  >             echo "*** $file does not exist"
+  >         fi
+  >     done
+  > }
+
+  $ hg init
+
+  $ echo 1 > file1
+  $ echo 2 > file2
+  $ hg ci -Am 'added file1 and file2'
+  adding file1
+  adding file2
+
+  $ hg rm file1
+  $ echo changed >> file2
+  $ hg ci -m 'removed file1, changed file2'
+
+  $ hg co 0
+  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+  $ echo changed >> file1
+  $ hg rm file2
+  $ hg ci -m 'changed file1, removed file2'
+  created new head
+
+
+Non-interactive merge:
+
+  $ hg merge -y || echo "failed"
+   local changed file1 which remote deleted
+  use (c)hanged version or (d)elete? c
+  remote changed file2 which local deleted
+  use (c)hanged version or leave (d)eleted? c
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+
+  $ status
+  --- status ---
+  M file2
+  C file1
+  --- file1 ---
+  1
+  changed
+  --- file2 ---
+  2
+  changed
+
+
+Interactive merge:
+
+  $ hg co -C
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+
+  $ hg merge --config ui.interactive=true <<EOF || echo "failed"
+  > c
+  > d
+  > EOF
+   local changed file1 which remote deleted
+  use (c)hanged version or (d)elete? remote changed file2 which local deleted
+  use (c)hanged version or leave (d)eleted? 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+
+  $ status
+  --- status ---
+  file2: No such file or directory
+  C file1
+  --- file1 ---
+  1
+  changed
+  *** file2 does not exist
+
+
+Interactive merge with bad input:
+
+  $ hg co -C
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+  $ hg merge --config ui.interactive=true <<EOF || echo "failed"
+  > foo
+  > bar
+  > d
+  > baz
+  > c
+  > EOF
+   local changed file1 which remote deleted
+  use (c)hanged version or (d)elete? unrecognized response
+   local changed file1 which remote deleted
+  use (c)hanged version or (d)elete? unrecognized response
+   local changed file1 which remote deleted
+  use (c)hanged version or (d)elete? remote changed file2 which local deleted
+  use (c)hanged version or leave (d)eleted? unrecognized response
+  remote changed file2 which local deleted
+  use (c)hanged version or leave (d)eleted? 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+
+  $ status
+  --- status ---
+  M file2
+  R file1
+  *** file1 does not exist
+  --- file2 ---
+  2
+  changed
+
+
+Interactive merge with not enough input:
+
+  $ hg co -C
+  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+
+  $ hg merge --config ui.interactive=true <<EOF || echo "failed"
+  > d
+  > EOF
+   local changed file1 which remote deleted
+  use (c)hanged version or (d)elete? remote changed file2 which local deleted
+  use (c)hanged version or leave (d)eleted? abort: response expected
+  failed
+
+  $ status
+  --- status ---
+  file2: No such file or directory
+  C file1
+  --- file1 ---
+  1
+  changed
+  *** file2 does not exist
+