path: root/t/test-terminal.perl
diff options
authorJeff King <>2017-10-03 13:39:34 (GMT)
committerJunio C Hamano <>2017-10-04 02:25:12 (GMT)
commite433749d86c55af27f762c862dbb06d1e108da13 (patch)
tree293e6ee97e225822ceb00646e646d56823b1f087 /t/test-terminal.perl
parent11b087adfd469ca597f1d269314f8cad32d0d72f (diff)
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 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 <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 't/test-terminal.perl')
1 files changed, 1 insertions, 0 deletions
diff --git a/t/test-terminal.perl b/t/test-terminal.perl
index 96b6a03..46bf618 100755
--- a/t/test-terminal.perl
+++ b/t/test-terminal.perl
@@ -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;