Tests for b5605d88dc27 and 840e2b315c1f (interactive prompts during merge)
authorThomas Arendsen Hein <thomas@intevation.de>
Thu, 27 Dec 2007 13:39:03 +0100
changeset 5672 8a65ea986755
parent 5671 b5605d88dc27
child 5696 6ba5ecc27d33
child 5752 84a6e463b948
Tests for b5605d88dc27 and 840e2b315c1f (interactive prompts during merge)
tests/test-merge-prompt
tests/test-merge-prompt.out
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-merge-prompt	Thu Dec 27 13:39:03 2007 +0100
@@ -0,0 +1,69 @@
+#!/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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-merge-prompt.out	Thu Dec 27 13:39:03 2007 +0100
@@ -0,0 +1,64 @@
+adding file1
+adding file2
+2 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+# non-interactive merge
+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