[RFC/ PATCH 5/5] t7609: test merge and checkout error messages
From: Diane Gasselin <hidden>
Date: 2016-06-15 22:48:56
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Diane <redacted> Test porcelain and plumbing error messages for different types of errors of merge and checkout. Signed-off-by: Diane Gasselin <redacted> Signed-off-by: Axel Bonnet <redacted> Signed-off-by: Clément Poulain <redacted> --- t/t7609-merge-co-error-msgs.sh | 122 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 122 insertions(+), 0 deletions(-) create mode 100755 t/t7609-merge-co-error-msgs.sh
diff --git a/t/t7609-merge-co-error-msgs.sh b/t/t7609-merge-co-error-msgs.sh
new file mode 100755
index 0000000..8461e10
--- /dev/null
+++ b/t/t7609-merge-co-error-msgs.sh@@ -0,0 +1,122 @@ +#!/bin/sh + +test_description='unpack-trees error messages' + +. ./test-lib.sh + + +test_expect_success 'setup' ' + echo one >one && + git add one && + git commit -a -m First && + + git checkout -b branch && + echo two>two && + echo three>three && + echo four>four && + echo five>five && + git add two three four five && + git commit -m Second && + + git checkout master && + echo other>two && + echo other>three && + echo other>four && + echo other>five +' + +cat> expect <<EOF +error: Untracked working tree files: + two + three + four + five +would be overwritten by merge. +EOF + +test_expect_success 'untracked files overwritten by merge' ' + ! git merge branch 2> out && + test_cmp out expect +' + +cat> expect <<EOF +error: Your local changes to the files: + two + three + four +would be overwritten by merge. +Please, commit your changes or stash them before you can merge. +error: Untracked working tree files: + five +would be overwritten by merge. +EOF + +test_expect_success 'untracked files or local changes ovewritten by merge' ' + git add two && + git add three && + git add four && + ! git merge branch 2> out && + test_cmp out expect +' + +cat> expect <<EOF +error: You have local changes to: + rep/two + rep/one +cannot switch branches. +EOF + +test_expect_success 'cannot switch branches because of local changes' ' + git add five && + mkdir rep && + echo one>rep/one && + echo two>rep/two && + git add rep/one rep/two && + git commit -m Fourth && + git checkout master && + echo uno>rep/one && + echo dos>rep/two && + ! git checkout branch 2> out && + test_cmp out expect +' + +cat> expect <<EOF +error: Entry 'rep/one' would be overwritten by merge. Cannot merge. +error: Entry 'rep/two' would be overwritten by merge. Cannot merge. +EOF + +test_expect_success 'not uptodate file plumbing error' ' + git add rep/one rep/two && + ! git checkout branch 2> out && + test_cmp out expect +' + +cat> expect <<EOF +error: Updating 'rep' would lose untracked files in it +error: Updating 'rep2' would lose untracked files in it +EOF + +test_expect_success 'not_uptodate_dir plumbing error' ' + git init uptodate && + cd uptodate && + mkdir rep && + mkdir rep2 && + touch rep/foo && + touch rep2/foo && + git add rep/foo rep2/foo && + git commit -m init && + git checkout -b branch && + git rm rep -r && + git rm rep2 -r && + touch rep && + touch rep2 && + git add rep rep2&& + git commit -m "added test as a file" && + git checkout master && + touch rep/untracked-file && + touch rep2/untracked-file && + ! git checkout branch 2> out && + test_cmp out ../expect +' + +test_done
--
1.6.6.7.ga5fe3