Use "test_line_count" instead of "wc -l", use "git -C" instead of a subshell, and use test_expect_code when calling difftool. Ease debugging by capturing output into temporary files. Suggested-by: Johannes Schindelin <johannes.schindelin@xxxxxx> Signed-off-by: David Aguilar <davvid@xxxxxxxxx> --- This patch applies on top of js/difftool-builtin in next "difftool: fix bug when printing usage" t/t7800-difftool.sh | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/t/t7800-difftool.sh b/t/t7800-difftool.sh index 21e2ac4ad6..97bae54d83 100755 --- a/t/t7800-difftool.sh +++ b/t/t7800-difftool.sh @@ -24,16 +24,15 @@ prompt_given () } test_expect_success 'basic usage requires no repo' ' - lines=$(git difftool -h | grep ^usage: | wc -l) && - test "$lines" -eq 1 && + test_expect_code 129 git difftool -h >output && + grep ^usage: output && # create a ceiling directory to prevent Git from finding a repo mkdir -p not/repo && - ceiling="$PWD/not" && - lines=$(cd not/repo && - GIT_CEILING_DIRECTORIES="$ceiling" git difftool -h | - grep ^usage: | wc -l) && - test "$lines" -eq 1 && - rmdir -p not/repo + test_when_finished rm -r not && + test_expect_code 129 \ + env GIT_CEILING_DIRECTORIES="$(pwd)/not" \ + git -C not/repo difftool -h >output && + grep ^usage: output ' # Create a file on master and change it on branch -- 2.12.0.rc0.228.g6c028b8e94