Make t7800 easier to debug by capturing output into temporary files and
using test_line_count to make assertions on those files.

Signed-off-by: David Aguilar <dav...@gmail.com>
---
 t/t7800-difftool.sh | 31 +++++++++++++++++++------------
 1 file changed, 19 insertions(+), 12 deletions(-)

diff --git a/t/t7800-difftool.sh b/t/t7800-difftool.sh
index 97bae54d83..25241f4096 100755
--- a/t/t7800-difftool.sh
+++ b/t/t7800-difftool.sh
@@ -290,8 +290,8 @@ test_expect_success 'difftool + mergetool config variables' 
'
 test_expect_success 'difftool.<tool>.path' '
        test_config difftool.tkdiff.path echo &&
        git difftool --tool=tkdiff --no-prompt branch >output &&
-       lines=$(grep file output | wc -l) &&
-       test "$lines" -eq 1
+       grep file output >grep-output &&
+       test_line_count = 1 grep-output
 '
 
 test_expect_success 'difftool --extcmd=cat' '
@@ -428,9 +428,12 @@ run_dir_diff_test 'difftool --dir-diff branch from 
subdirectory' '
                git difftool --dir-diff $symlinks --extcmd ls branch >output &&
                # "sub" must only exist in "right"
                # "file" and "file2" must be listed in both "left" and "right"
-               test "1" = $(grep sub output | wc -l) &&
-               test "2" = $(grep file"$" output | wc -l) &&
-               test "2" = $(grep file2 output | wc -l)
+               grep sub output > sub-output &&
+               test_line_count = 1 sub-output &&
+               grep file"$" output >file-output &&
+               test_line_count = 2 file-output &&
+               grep file2 output >file2-output &&
+               test_line_count = 2 file2-output
        )
 '
 
@@ -440,9 +443,11 @@ run_dir_diff_test 'difftool --dir-diff v1 from 
subdirectory' '
                git difftool --dir-diff $symlinks --extcmd ls v1 >output &&
                # "sub" and "file" exist in both v1 and HEAD.
                # "file2" is unchanged.
-               test "2" = $(grep sub output | wc -l) &&
-               test "2" = $(grep file output | wc -l) &&
-               test "0" = $(grep file2 output | wc -l)
+               grep sub output >sub-output &&
+               test_line_count = 2 sub-output &&
+               grep file output >file-output &&
+               test_line_count = 2 file-output &&
+               ! grep file2 output
        )
 '
 
@@ -452,8 +457,9 @@ run_dir_diff_test 'difftool --dir-diff branch from 
subdirectory w/ pathspec' '
                git difftool --dir-diff $symlinks --extcmd ls branch -- 
.>output &&
                # "sub" only exists in "right"
                # "file" and "file2" must not be listed
-               test "1" = $(grep sub output | wc -l) &&
-               test "0" = $(grep file output | wc -l)
+               grep sub output >sub-output &&
+               test_line_count = 1 sub-output &&
+               ! grep file output
        )
 '
 
@@ -463,8 +469,9 @@ run_dir_diff_test 'difftool --dir-diff v1 from subdirectory 
w/ pathspec' '
                git difftool --dir-diff $symlinks --extcmd ls v1 -- .>output &&
                # "sub" exists in v1 and HEAD
                # "file" is filtered out by the pathspec
-               test "2" = $(grep sub output | wc -l) &&
-               test "0" = $(grep file output | wc -l)
+               grep sub output >sub-output &&
+               test_line_count = 2 sub-output &&
+               ! grep file output
        )
 '
 
-- 
2.12.0.rc0.228.g6c028b8e94

Reply via email to