{"thread":{"id":"45276","subject":"[PATCH v2 1/5] Detect merges specifically in test t7610-mergetool","startedAt":"2017-03-03T13:48:00Z","lastAt":"2017-03-03T13:48:00Z","messageCount":1,"participants":["Denton Liu"],"isPatch":true,"patchVersion":2,"patchTotal":5},"messages":[{"id":"313171","messageId":"20170303134015.GA6235@arch-attack.localdomain","threadId":"45276","inReplyTo":null,"subject":"[PATCH v2 1/5] Detect merges specifically in test t7610-mergetool","fromName":"Denton Liu","fromEmail":"liu.denton@gmail.com","sentAt":"2017-03-03T13:40:15Z","receivedAt":"2017-03-03T13:48:00Z","isPatch":true,"sender":{"key":"liu.denton@gmail.com","avatar":"https://avatars.githubusercontent.com/u/9620836?v=4"},"body":"Prior to this, the test cases would use 'test_expect_failure' to detect\na merge conflict. This changes the test case to use 'test_expect_code 1'\nwhich is more specific.\n\nSigned-off-by: Denton Liu <liu.denton@gmail.com>\n---\n t/t7610-mergetool.sh | 76 ++++++++++++++++++++++++++--------------------------\n 1 file changed, 38 insertions(+), 38 deletions(-)\n\ndiff --git a/t/t7610-mergetool.sh b/t/t7610-mergetool.sh\nindex 381b7df45..a9e274add 100755\n--- a/t/t7610-mergetool.sh\n+++ b/t/t7610-mergetool.sh\n@@ -130,7 +130,7 @@ test_expect_success 'custom mergetool' '\n \ttest_when_finished \"git reset --hard\" &&\n \tgit checkout -b test$test_count branch1 &&\n \tgit submodule update -N &&\n-\ttest_must_fail git merge master >/dev/null 2>&1 &&\n+\ttest_expect_code 1 git merge master >/dev/null 2>&1 &&\n \t( yes \"\" | git mergetool both >/dev/null 2>&1 ) &&\n \t( yes \"\" | git mergetool file1 file1 ) &&\n \t( yes \"\" | git mergetool file2 \"spaced name\" >/dev/null 2>&1 ) &&\n@@ -153,7 +153,7 @@ test_expect_success 'mergetool crlf' '\n \t# test_when_finished is LIFO.)\n \ttest_config core.autocrlf true &&\n \tgit checkout -b test$test_count branch1 &&\n-\ttest_must_fail git merge master >/dev/null 2>&1 &&\n+\ttest_expect_code 1 git merge master >/dev/null 2>&1 &&\n \t( yes \"\" | git mergetool file1 >/dev/null 2>&1 ) &&\n \t( yes \"\" | git mergetool file2 >/dev/null 2>&1 ) &&\n \t( yes \"\" | git mergetool \"spaced name\" >/dev/null 2>&1 ) &&\n@@ -176,7 +176,7 @@ test_expect_success 'mergetool in subdir' '\n \tgit submodule update -N &&\n \t(\n \t\tcd subdir &&\n-\t\ttest_must_fail git merge master >/dev/null 2>&1 &&\n+\t\ttest_expect_code 1 git merge master >/dev/null 2>&1 &&\n \t\t( yes \"\" | git mergetool file3 >/dev/null 2>&1 ) &&\n \t\ttest \"$(cat file3)\" = \"master new sub\"\n \t)\n@@ -188,7 +188,7 @@ test_expect_success 'mergetool on file in parent dir' '\n \tgit submodule update -N &&\n \t(\n \t\tcd subdir &&\n-\t\ttest_must_fail git merge master >/dev/null 2>&1 &&\n+\t\ttest_expect_code 1 git merge master >/dev/null 2>&1 &&\n \t\t( yes \"\" | git mergetool file3 >/dev/null 2>&1 ) &&\n \t\t( yes \"\" | git mergetool ../file1 >/dev/null 2>&1 ) &&\n \t\t( yes \"\" | git mergetool ../file2 ../spaced\\ name >/dev/null 2>&1 ) &&\n@@ -207,7 +207,7 @@ test_expect_success 'mergetool skips autoresolved' '\n \ttest_when_finished \"git reset --hard\" &&\n \tgit checkout -b test$test_count branch1 &&\n \tgit submodule update -N &&\n-\ttest_must_fail git merge master &&\n+\ttest_expect_code 1 git merge master &&\n \ttest -n \"$(git ls-files -u)\" &&\n \t( yes \"d\" | git mergetool file11 >/dev/null 2>&1 ) &&\n \t( yes \"d\" | git mergetool file12 >/dev/null 2>&1 ) &&\n@@ -222,7 +222,7 @@ test_expect_success 'mergetool merges all from subdir (rerere disabled)' '\n \ttest_config rerere.enabled false &&\n \t(\n \t\tcd subdir &&\n-\t\ttest_must_fail git merge master &&\n+\t\ttest_expect_code 1 git merge master &&\n \t\t( yes \"r\" | git mergetool ../submod ) &&\n \t\t( yes \"d\" \"d\" | git mergetool --no-prompt ) &&\n \t\ttest \"$(cat ../file1)\" = \"master updated\" &&\n@@ -241,7 +241,7 @@ test_expect_success 'mergetool merges all from subdir (rerere enabled)' '\n \trm -rf .git/rr-cache &&\n \t(\n \t\tcd subdir &&\n-\t\ttest_must_fail git merge master &&\n+\t\ttest_expect_code 1 git merge master &&\n \t\t( yes \"r\" | git mergetool ../submod ) &&\n \t\t( yes \"d\" \"d\" | git mergetool --no-prompt ) &&\n \t\ttest \"$(cat ../file1)\" = \"master updated\" &&\n@@ -259,7 +259,7 @@ test_expect_success 'mergetool skips resolved paths when rerere is active' '\n \trm -rf .git/rr-cache &&\n \tgit checkout -b test$test_count branch1 &&\n \tgit submodule update -N &&\n-\ttest_must_fail git merge master >/dev/null 2>&1 &&\n+\ttest_expect_code 1 git merge master >/dev/null 2>&1 &&\n \t( yes \"l\" | git mergetool --no-prompt submod >/dev/null 2>&1 ) &&\n \t( yes \"d\" \"d\" | git mergetool --no-prompt >/dev/null 2>&1 ) &&\n \tgit submodule update -N &&\n@@ -275,7 +275,7 @@ test_expect_success 'conflicted stash sets up rerere'  '\n \tgit stash &&\n \n \tgit checkout --detach stash2 &&\n-\ttest_must_fail git stash apply &&\n+\ttest_expect_code 1 git stash apply &&\n \n \ttest -n \"$(git ls-files -u)\" &&\n \tconflicts=\"$(git rerere remaining)\" &&\n@@ -286,7 +286,7 @@ test_expect_success 'conflicted stash sets up rerere'  '\n \tgit commit -am \"save the stash resolution\" &&\n \n \tgit reset --hard stash2 &&\n-\ttest_must_fail git stash apply &&\n+\ttest_expect_code 1 git stash apply &&\n \n \ttest -n \"$(git ls-files -u)\" &&\n \tconflicts=\"$(git rerere remaining)\" &&\n@@ -300,7 +300,7 @@ test_expect_success 'mergetool takes partial path' '\n \ttest_config rerere.enabled false &&\n \tgit checkout -b test$test_count branch1 &&\n \tgit submodule update -N &&\n-\ttest_must_fail git merge master &&\n+\ttest_expect_code 1 git merge master &&\n \n \t( yes \"\" | git mergetool subdir ) &&\n \n@@ -310,15 +310,15 @@ test_expect_success 'mergetool takes partial path' '\n test_expect_success 'mergetool delete/delete conflict' '\n \ttest_when_finished \"git reset --hard\" &&\n \tgit checkout -b test$test_count move-to-c &&\n-\ttest_must_fail git merge move-to-b &&\n+\ttest_expect_code 1 git merge move-to-b &&\n \techo d | git mergetool a/a/file.txt &&\n \t! test -f a/a/file.txt &&\n \tgit reset --hard &&\n-\ttest_must_fail git merge move-to-b &&\n+\ttest_expect_code 1 git merge move-to-b &&\n \techo m | git mergetool a/a/file.txt &&\n \ttest -f b/b/file.txt &&\n \tgit reset --hard &&\n-\ttest_must_fail git merge move-to-b &&\n+\ttest_expect_code 1 git merge move-to-b &&\n \t! echo a | git mergetool a/a/file.txt &&\n \t! test -f a/a/file.txt\n '\n@@ -327,7 +327,7 @@ test_expect_success 'mergetool produces no errors when keepBackup is used' '\n \ttest_when_finished \"git reset --hard\" &&\n \tgit checkout -b test$test_count move-to-c &&\n \ttest_config mergetool.keepBackup true &&\n-\ttest_must_fail git merge move-to-b &&\n+\ttest_expect_code 1 git merge move-to-b &&\n \t: >expect &&\n \techo d | git mergetool a/a/file.txt 2>actual &&\n \ttest_cmp expect actual &&\n@@ -338,7 +338,7 @@ test_expect_success 'mergetool honors tempfile config for deleted files' '\n \ttest_when_finished \"git reset --hard\" &&\n \tgit checkout -b test$test_count move-to-c &&\n \ttest_config mergetool.keepTemporaries false &&\n-\ttest_must_fail git merge move-to-b &&\n+\ttest_expect_code 1 git merge move-to-b &&\n \techo d | git mergetool a/a/file.txt &&\n \t! test -d a\n '\n@@ -348,7 +348,7 @@ test_expect_success 'mergetool keeps tempfiles when aborting delete/delete' '\n \ttest_when_finished \"git clean -fdx\" &&\n \tgit checkout -b test$test_count move-to-c &&\n \ttest_config mergetool.keepTemporaries true &&\n-\ttest_must_fail git merge move-to-b &&\n+\ttest_expect_code 1 git merge move-to-b &&\n \t! (echo a; echo n) | git mergetool a/a/file.txt &&\n \ttest -d a/a &&\n \tcat >expect <<-\\EOF &&\n@@ -368,7 +368,7 @@ test_expect_success 'deleted vs modified submodule' '\n \tgit rm --cached submod &&\n \tgit commit -m \"Submodule deleted from branch\" &&\n \tgit checkout -b test$test_count.a test$test_count &&\n-\ttest_must_fail git merge master &&\n+\ttest_expect_code 1 git merge master &&\n \ttest -n \"$(git ls-files -u)\" &&\n \t( yes \"\" | git mergetool file1 file2 spaced\\ name subdir/file3 >/dev/null 2>&1 ) &&\n \t( yes \"\" | git mergetool both >/dev/null 2>&1 ) &&\n@@ -385,7 +385,7 @@ test_expect_success 'deleted vs modified submodule' '\n \tmv submod submod-movedaside &&\n \tgit checkout -b test$test_count.b test$test_count &&\n \tgit submodule update -N &&\n-\ttest_must_fail git merge master &&\n+\ttest_expect_code 1 git merge master &&\n \ttest -n \"$(git ls-files -u)\" &&\n \t( yes \"\" | git mergetool file1 file2 spaced\\ name subdir/file3 >/dev/null 2>&1 ) &&\n \t( yes \"\" | git mergetool both >/dev/null 2>&1 ) &&\n@@ -399,7 +399,7 @@ test_expect_success 'deleted vs modified submodule' '\n \tmv submod-movedaside submod &&\n \tgit checkout -b test$test_count.c master &&\n \tgit submodule update -N &&\n-\ttest_must_fail git merge test$test_count &&\n+\ttest_expect_code 1 git merge test$test_count &&\n \ttest -n \"$(git ls-files -u)\" &&\n \t( yes \"\" | git mergetool file1 file2 spaced\\ name subdir/file3 >/dev/null 2>&1 ) &&\n \t( yes \"\" | git mergetool both >/dev/null 2>&1 ) &&\n@@ -415,7 +415,7 @@ test_expect_success 'deleted vs modified submodule' '\n \n \tgit checkout -b test$test_count.d master &&\n \tgit submodule update -N &&\n-\ttest_must_fail git merge test$test_count &&\n+\ttest_expect_code 1 git merge test$test_count &&\n \ttest -n \"$(git ls-files -u)\" &&\n \t( yes \"\" | git mergetool file1 file2 spaced\\ name subdir/file3 >/dev/null 2>&1 ) &&\n \t( yes \"\" | git mergetool both >/dev/null 2>&1 ) &&\n@@ -439,7 +439,7 @@ test_expect_success 'file vs modified submodule' '\n \tgit add submod &&\n \tgit commit -m \"Submodule path becomes file\" &&\n \tgit checkout -b test$test_count.a branch1 &&\n-\ttest_must_fail git merge master &&\n+\ttest_expect_code 1 git merge master &&\n \ttest -n \"$(git ls-files -u)\" &&\n \t( yes \"\" | git mergetool file1 file2 spaced\\ name subdir/file3 >/dev/null 2>&1 ) &&\n \t( yes \"\" | git mergetool both >/dev/null 2>&1 ) &&\n@@ -455,7 +455,7 @@ test_expect_success 'file vs modified submodule' '\n \n \tmv submod submod-movedaside &&\n \tgit checkout -b test$test_count.b test$test_count &&\n-\ttest_must_fail git merge master &&\n+\ttest_expect_code 1 git merge master &&\n \ttest -n \"$(git ls-files -u)\" &&\n \t( yes \"\" | git mergetool file1 file2 spaced\\ name subdir/file3 >/dev/null 2>&1 ) &&\n \t( yes \"\" | git mergetool both >/dev/null 2>&1 ) &&\n@@ -471,7 +471,7 @@ test_expect_success 'file vs modified submodule' '\n \trmdir submod && mv submod-movedaside submod &&\n \ttest ! -e submod.orig &&\n \tgit submodule update -N &&\n-\ttest_must_fail git merge test$test_count &&\n+\ttest_expect_code 1 git merge test$test_count &&\n \ttest -n \"$(git ls-files -u)\" &&\n \t( yes \"\" | git mergetool file1 file2 spaced\\ name subdir/file3 >/dev/null 2>&1 ) &&\n \t( yes \"\" | git mergetool both >/dev/null 2>&1 ) &&\n@@ -487,7 +487,7 @@ test_expect_success 'file vs modified submodule' '\n \tgit checkout -b test$test_count.d master &&\n \trmdir submod && mv submod.orig submod &&\n \tgit submodule update -N &&\n-\ttest_must_fail git merge test$test_count &&\n+\ttest_expect_code 1 git merge test$test_count &&\n \ttest -n \"$(git ls-files -u)\" &&\n \t( yes \"\" | git mergetool file1 file2 spaced\\ name subdir/file3 >/dev/null 2>&1 ) &&\n \t( yes \"\" | git mergetool both>/dev/null 2>&1 ) &&\n@@ -544,7 +544,7 @@ test_expect_success 'submodule in subdirectory' '\n \tgit add subdir/subdir_module &&\n \tgit commit -m \"change submodule in subdirectory on test$test_count.b\" &&\n \n-\ttest_must_fail git merge test$test_count.a >/dev/null 2>&1 &&\n+\ttest_expect_code 1 git merge test$test_count.a >/dev/null 2>&1 &&\n \t(\n \t\tcd subdir &&\n \t\t( yes \"l\" | git mergetool subdir_module )\n@@ -555,7 +555,7 @@ test_expect_success 'submodule in subdirectory' '\n \tgit reset --hard &&\n \tgit submodule update -N &&\n \n-\ttest_must_fail git merge test$test_count.a >/dev/null 2>&1 &&\n+\ttest_expect_code 1 git merge test$test_count.a >/dev/null 2>&1 &&\n \t( yes \"r\" | git mergetool subdir/subdir_module ) &&\n \ttest \"$(cat subdir/subdir_module/file15)\" = \"test$test_count.b\" &&\n \tgit submodule update -N &&\n@@ -573,14 +573,14 @@ test_expect_success 'directory vs modified submodule' '\n \tgit add submod/file16 &&\n \tgit commit -m \"Submodule path becomes directory\" &&\n \n-\ttest_must_fail git merge master &&\n+\ttest_expect_code 1 git merge master &&\n \ttest -n \"$(git ls-files -u)\" &&\n \t( yes \"l\" | git mergetool submod ) &&\n \ttest \"$(cat submod/file16)\" = \"not a submodule\" &&\n \trm -rf submod.orig &&\n \n \tgit reset --hard &&\n-\ttest_must_fail git merge master &&\n+\ttest_expect_code 1 git merge master &&\n \ttest -n \"$(git ls-files -u)\" &&\n \ttest ! -e submod.orig &&\n \t( yes \"r\" | git mergetool submod ) &&\n@@ -596,7 +596,7 @@ test_expect_success 'directory vs modified submodule' '\n \n \tgit checkout -b test$test_count.c master &&\n \tgit submodule update -N &&\n-\ttest_must_fail git merge test$test_count &&\n+\ttest_expect_code 1 git merge test$test_count &&\n \ttest -n \"$(git ls-files -u)\" &&\n \t( yes \"l\" | git mergetool submod ) &&\n \tgit submodule update -N &&\n@@ -604,7 +604,7 @@ test_expect_success 'directory vs modified submodule' '\n \n \tgit reset --hard &&\n \tgit submodule update -N &&\n-\ttest_must_fail git merge test$test_count &&\n+\ttest_expect_code 1 git merge test$test_count &&\n \ttest -n \"$(git ls-files -u)\" &&\n \ttest ! -e submod.orig &&\n \t( yes \"r\" | git mergetool submod ) &&\n@@ -618,7 +618,7 @@ test_expect_success 'directory vs modified submodule' '\n test_expect_success 'file with no base' '\n \ttest_when_finished \"git reset --hard\" &&\n \tgit checkout -b test$test_count branch1 &&\n-\ttest_must_fail git merge master &&\n+\ttest_expect_code 1 git merge master &&\n \tgit mergetool --no-prompt --tool mybase -- both &&\n \t>expected &&\n \ttest_cmp both expected\n@@ -629,7 +629,7 @@ test_expect_success 'custom commands override built-ins' '\n \tgit checkout -b test$test_count branch1 &&\n \ttest_config mergetool.defaults.cmd \"cat \\\"\\$REMOTE\\\" >\\\"\\$MERGED\\\"\" &&\n \ttest_config mergetool.defaults.trustExitCode true &&\n-\ttest_must_fail git merge master &&\n+\ttest_expect_code 1 git merge master &&\n \tgit mergetool --no-prompt --tool defaults -- both &&\n \techo master both added >expected &&\n \ttest_cmp both expected\n@@ -641,7 +641,7 @@ test_expect_success 'filenames seen by tools start with ./' '\n \ttest_config mergetool.writeToTemp false &&\n \ttest_config mergetool.myecho.cmd \"echo \\\"\\$LOCAL\\\"\" &&\n \ttest_config mergetool.myecho.trustExitCode true &&\n-\ttest_must_fail git merge master &&\n+\ttest_expect_code 1 git merge master &&\n \tgit mergetool --no-prompt --tool myecho -- both >actual &&\n \tgrep ^\\./both_LOCAL_ actual >/dev/null\n '\n@@ -658,7 +658,7 @@ test_expect_success MKTEMP 'temporary filenames are used with mergetool.writeToT\n \ttest_config mergetool.writeToTemp true &&\n \ttest_config mergetool.myecho.cmd \"echo \\\"\\$LOCAL\\\"\" &&\n \ttest_config mergetool.myecho.trustExitCode true &&\n-\ttest_must_fail git merge master &&\n+\ttest_expect_code 1 git merge master &&\n \tgit mergetool --no-prompt --tool myecho -- both >actual &&\n \t! grep ^\\./both_LOCAL_ actual >/dev/null &&\n \tgrep /both_LOCAL_ actual >/dev/null\n@@ -672,7 +672,7 @@ test_expect_success 'diff.orderFile configuration is honored' '\n \ttest_config mergetool.myecho.trustExitCode true &&\n \techo b >order-file &&\n \techo a >>order-file &&\n-\ttest_must_fail git merge order-file-side1 &&\n+\ttest_expect_code 1 git merge order-file-side1 &&\n \tcat >expect <<-\\EOF &&\n \t\tMerging:\n \t\tb\n@@ -695,7 +695,7 @@ test_expect_success 'mergetool -Oorder-file is honored' '\n \ttest_config mergetool.myecho.trustExitCode true &&\n \techo b >order-file &&\n \techo a >>order-file &&\n-\ttest_must_fail git merge order-file-side1 &&\n+\ttest_expect_code 1 git merge order-file-side1 &&\n \tcat >expect <<-\\EOF &&\n \t\tMerging:\n \t\ta\n@@ -707,7 +707,7 @@ test_expect_success 'mergetool -Oorder-file is honored' '\n \tgit reset --hard &&\n \n \tgit config --unset diff.orderFile &&\n-\ttest_must_fail git merge order-file-side1 &&\n+\ttest_expect_code 1 git merge order-file-side1 &&\n \tcat >expect <<-\\EOF &&\n \t\tMerging:\n \t\tb\n-- \n2.12.0.5.gfbc750a84\n\n"}]}