t3701: use test-terminal to collect color output

When testing whether "add -p" can generate colors, we set
color.ui to "always". This isn't a very good test, as in the
real-world a user typically has "auto" coupled with stdout
going to a terminal (and it's plausible that this could mask
a real bug in add--interactive if we depend on plumbing's
isatty check).

Let's switch to test_terminal, which gives us a more
realistic environment. This also prepare us for future
changes to the "always" color option.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jeff King 2017-10-03 09:42:15 -04:00 committed by Junio C Hamano
parent a655a59595
commit 8552972b13

View file

@ -2,6 +2,7 @@
test_description='add -i basic tests'
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-terminal.sh
if ! test_have_prereq PERL
then
@ -380,14 +381,11 @@ test_expect_success 'patch mode ignores unmerged entries' '
test_cmp expected diff
'
test_expect_success 'diffs can be colorized' '
test_expect_success TTY 'diffs can be colorized' '
git reset --hard &&
# force color even though the test script has no terminal
test_config color.ui always &&
echo content >test &&
printf y | git add -p >output 2>&1 &&
printf y | test_terminal git add -p >output 2>&1 &&
# We do not want to depend on the exact coloring scheme
# git uses for diffs, so just check that we saw some kind of color.