Mercurial > hg-stable
changeset 12259:7b05cb9ac6d2
tests: unify test-merge-prompt
author | Adrian Buehlmann <adrian@cadifra.com> |
---|---|
date | Sun, 12 Sep 2010 11:52:13 +0200 |
parents | 98ec977aa61e |
children | 0a63e91c519d |
files | tests/test-merge-prompt tests/test-merge-prompt.out tests/test-merge-prompt.t |
diffstat | 3 files changed, 144 insertions(+), 138 deletions(-) [+] |
line wrap: on
line diff
--- 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 +