t6022: don't run 'git merge' upstream of a pipe

The primary purpose of 't6022-merge-rename.sh' is to test 'git merge',
but one of the tests runs it upstream of a pipe, hiding its exit code.
Consequently, the test could continue even if 'git merge' exited with
error.

Use an intermediate file between 'git merge' and 'test_i18ngrep' to
catch a potential failure of the former.

Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
SZEDER Gábor 2018-02-08 16:56:50 +01:00 committed by Junio C Hamano
parent a4ca4553e0
commit cc04adc2d0

View file

@ -242,10 +242,12 @@ test_expect_success 'merge of identical changes in a renamed file' '
rm -f A M N &&
git reset --hard &&
git checkout change+rename &&
GIT_MERGE_VERBOSITY=3 git merge change | test_i18ngrep "^Skipped B" &&
GIT_MERGE_VERBOSITY=3 git merge change >out &&
test_i18ngrep "^Skipped B" out &&
git reset --hard HEAD^ &&
git checkout change &&
GIT_MERGE_VERBOSITY=3 git merge change+rename | test_i18ngrep "^Skipped B"
GIT_MERGE_VERBOSITY=3 git merge change+rename >out &&
test_i18ngrep "^Skipped B" out
'
test_expect_success 'setup for rename + d/f conflicts' '