зеркало из https://github.com/microsoft/git.git
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>
This commit is contained in:
Родитель
11b087adfd
Коммит
e433749d86
|
@ -253,7 +253,7 @@ test_expect_success '%(color) omitted without 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_cmp expect.color actual
|
||||
'
|
||||
|
|
|
@ -750,7 +750,7 @@ test_expect_success 'log.decorate config parsing' '
|
|||
'
|
||||
|
||||
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_cmp expect.short actual
|
||||
|
|
|
@ -229,8 +229,7 @@ do
|
|||
'
|
||||
|
||||
test_expect_success TTY "$desc respects --color=auto (stdout is tty)" '
|
||||
test_terminal env TERM=vt100 \
|
||||
git log --format=$color -1 --color=auto >actual &&
|
||||
test_terminal git log --format=$color -1 --color=auto >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_terminal env TERM=vt100 \
|
||||
git for-each-ref --format="$color_format" >actual.raw &&
|
||||
test_terminal git for-each-ref --format="$color_format" >actual.raw &&
|
||||
test_decode_color <actual.raw >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_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_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' '
|
||||
rm -f paginated.out &&
|
||||
test_config color.ui auto &&
|
||||
test_terminal env TERM=vt100 git log &&
|
||||
test_terminal git log &&
|
||||
colorful paginated.out
|
||||
'
|
||||
|
||||
|
@ -167,7 +167,7 @@ test_expect_success TTY 'colors are suppressed by color.pager' '
|
|||
rm -f paginated.out &&
|
||||
test_config color.ui auto &&
|
||||
test_config color.pager false &&
|
||||
test_terminal env TERM=vt100 git log &&
|
||||
test_terminal git log &&
|
||||
! 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_config alias.externallog "!git log" &&
|
||||
test_config color.ui auto &&
|
||||
test_terminal env TERM=vt100 git -p externallog &&
|
||||
test_terminal git -p externallog &&
|
||||
colorful paginated.out
|
||||
'
|
||||
|
||||
|
|
|
@ -80,6 +80,7 @@ sub copy_stdio {
|
|||
if ($#ARGV < 1) {
|
||||
die "usage: test-terminal program args";
|
||||
}
|
||||
$ENV{TERM} = 'vt100';
|
||||
my $master_in = new IO::Pty;
|
||||
my $master_out = new IO::Pty;
|
||||
my $master_err = new IO::Pty;
|
||||
|
|
Загрузка…
Ссылка в новой задаче