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>
maint
Jeff King 2017-10-03 09:42:15 -04:00 committed by Junio C Hamano
parent a655a59595
commit 8552972b13
1 changed files with 3 additions and 5 deletions

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.