test-terminal: set TERM=vt100
The point of the test-terminal script is to simulate in the test scripts an environment where output is going to a real terminal. But since test-lib.sh also sets TERM=dumb, the simulation isn't very realistic. The color code will skip auto-coloring for TERM=dumb, leading to us liberally sprinkling test_terminal env TERM=vt100 git ... through the test suite to convince the tests to actually generate colors. Let's set TERM for programs run under test_terminal, which is one less thing for test-writers to remember. In most cases the callers can be simplified, but note there is one interesting case in t4202. It uses test_terminal to check the auto-enabling of --decorate, but the expected output _doesn't_ contain colors (because TERM=dumb suppresses them). Using TERM=vt100 is closer to what the real world looks like; adjust the expected output to match. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
11b087adfd
commit
e433749d86
|
@ -253,7 +253,7 @@ test_expect_success '%(color) omitted without tty' '
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success TTY '%(color) present with tty' '
|
test_expect_success TTY '%(color) present with tty' '
|
||||||
test_terminal env TERM=vt100 git branch $color_args >actual.raw &&
|
test_terminal git branch $color_args >actual.raw &&
|
||||||
test_decode_color <actual.raw >actual &&
|
test_decode_color <actual.raw >actual &&
|
||||||
test_cmp expect.color actual
|
test_cmp expect.color actual
|
||||||
'
|
'
|
||||||
|
|
|
@ -750,7 +750,7 @@ test_expect_success 'log.decorate config parsing' '
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success TTY 'log output on a TTY' '
|
test_expect_success TTY 'log output on a TTY' '
|
||||||
git log --oneline --decorate >expect.short &&
|
git log --color --oneline --decorate >expect.short &&
|
||||||
|
|
||||||
test_terminal git log --oneline >actual &&
|
test_terminal git log --oneline >actual &&
|
||||||
test_cmp expect.short actual
|
test_cmp expect.short actual
|
||||||
|
|
|
@ -229,8 +229,7 @@ do
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success TTY "$desc respects --color=auto (stdout is tty)" '
|
test_expect_success TTY "$desc respects --color=auto (stdout is tty)" '
|
||||||
test_terminal env TERM=vt100 \
|
test_terminal git log --format=$color -1 --color=auto >actual &&
|
||||||
git log --format=$color -1 --color=auto >actual &&
|
|
||||||
has_color actual
|
has_color actual
|
||||||
'
|
'
|
||||||
|
|
||||||
|
|
|
@ -425,8 +425,7 @@ test_expect_success 'set up color tests' '
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success TTY '%(color) shows color with a tty' '
|
test_expect_success TTY '%(color) shows color with a tty' '
|
||||||
test_terminal env TERM=vt100 \
|
test_terminal git for-each-ref --format="$color_format" >actual.raw &&
|
||||||
git for-each-ref --format="$color_format" >actual.raw &&
|
|
||||||
test_decode_color <actual.raw >actual &&
|
test_decode_color <actual.raw >actual &&
|
||||||
test_cmp expected.color actual
|
test_cmp expected.color actual
|
||||||
'
|
'
|
||||||
|
|
|
@ -1914,7 +1914,7 @@ test_expect_success '%(color) omitted without tty' '
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success TTY '%(color) present with tty' '
|
test_expect_success TTY '%(color) present with tty' '
|
||||||
test_terminal env TERM=vt100 git tag $color_args >actual.raw &&
|
test_terminal git tag $color_args >actual.raw &&
|
||||||
test_decode_color <actual.raw >actual &&
|
test_decode_color <actual.raw >actual &&
|
||||||
test_cmp expect.color actual
|
test_cmp expect.color actual
|
||||||
'
|
'
|
||||||
|
|
|
@ -159,7 +159,7 @@ test_expect_success 'no color when stdout is a regular file' '
|
||||||
test_expect_success TTY 'color when writing to a pager' '
|
test_expect_success TTY 'color when writing to a pager' '
|
||||||
rm -f paginated.out &&
|
rm -f paginated.out &&
|
||||||
test_config color.ui auto &&
|
test_config color.ui auto &&
|
||||||
test_terminal env TERM=vt100 git log &&
|
test_terminal git log &&
|
||||||
colorful paginated.out
|
colorful paginated.out
|
||||||
'
|
'
|
||||||
|
|
||||||
|
@ -167,7 +167,7 @@ test_expect_success TTY 'colors are suppressed by color.pager' '
|
||||||
rm -f paginated.out &&
|
rm -f paginated.out &&
|
||||||
test_config color.ui auto &&
|
test_config color.ui auto &&
|
||||||
test_config color.pager false &&
|
test_config color.pager false &&
|
||||||
test_terminal env TERM=vt100 git log &&
|
test_terminal git log &&
|
||||||
! colorful paginated.out
|
! colorful paginated.out
|
||||||
'
|
'
|
||||||
|
|
||||||
|
@ -186,7 +186,7 @@ test_expect_success 'color when writing to a file intended for a pager' '
|
||||||
test_expect_success TTY 'colors are sent to pager for external commands' '
|
test_expect_success TTY 'colors are sent to pager for external commands' '
|
||||||
test_config alias.externallog "!git log" &&
|
test_config alias.externallog "!git log" &&
|
||||||
test_config color.ui auto &&
|
test_config color.ui auto &&
|
||||||
test_terminal env TERM=vt100 git -p externallog &&
|
test_terminal git -p externallog &&
|
||||||
colorful paginated.out
|
colorful paginated.out
|
||||||
'
|
'
|
||||||
|
|
||||||
|
|
|
@ -80,6 +80,7 @@ sub copy_stdio {
|
||||||
if ($#ARGV < 1) {
|
if ($#ARGV < 1) {
|
||||||
die "usage: test-terminal program args";
|
die "usage: test-terminal program args";
|
||||||
}
|
}
|
||||||
|
$ENV{TERM} = 'vt100';
|
||||||
my $master_in = new IO::Pty;
|
my $master_in = new IO::Pty;
|
||||||
my $master_out = new IO::Pty;
|
my $master_out = new IO::Pty;
|
||||||
my $master_err = new IO::Pty;
|
my $master_err = new IO::Pty;
|
||||||
|
|
Loading…
Reference in New Issue