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.schinde...@gmx.de>
Signed-off-by: David Aguilar <dav...@gmail.com>
---
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

Reply via email to