summaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
authorJan Niklas Hasse <jhasse@bixense.com>2018-11-13 15:15:43 +0100
committerJan Niklas Hasse <jhasse@bixense.com>2018-11-13 15:15:43 +0100
commitbf7107bb864d0383028202e3f4a4228c02302961 (patch)
treead4ecdd3f32ab606d5d664862a400c2f3d4641ad /misc
parent99c5c2287b11c8bab05fb2a8cf89dc4856c708bc (diff)
downloadninja-bf7107bb864d0383028202e3f4a4228c02302961.tar.gz
Allow disabling of escape code stripping, fix #1475
Don't strip colors when CLICOLOR_FORCE is set to a non-zero value. This environment variable is also used by CMake's Make back-end.
Diffstat (limited to 'misc')
-rwxr-xr-xmisc/output_test.py21
1 files changed, 16 insertions, 5 deletions
diff --git a/misc/output_test.py b/misc/output_test.py
index 6a5b635..878de19 100755
--- a/misc/output_test.py
+++ b/misc/output_test.py
@@ -11,11 +11,14 @@ import sys
import tempfile
import unittest
-def run(build_ninja, flags='', pipe=False):
- env = dict(os.environ)
- if 'NINJA_STATUS' in env:
- del env['NINJA_STATUS']
- env['TERM'] = ''
+default_env = dict(os.environ)
+if 'NINJA_STATUS' in default_env:
+ del default_env['NINJA_STATUS']
+if 'CLICOLOR_FORCE' in default_env:
+ del default_env['CLICOLOR_FORCE']
+default_env['TERM'] = ''
+
+def run(build_ninja, flags='', pipe=False, env=default_env):
with tempfile.NamedTemporaryFile('w') as f:
f.write(build_ninja)
f.flush()
@@ -84,5 +87,13 @@ red
red
''')
+ # CLICOLOR_FORCE=1 can be used to disable escape code stripping.
+ env = default_env.copy()
+ env['CLICOLOR_FORCE'] = '1'
+ self.assertEqual(run(print_red, pipe=True, env=env),
+'''[1/1] echo a
+\x1b[31mred\x1b[0m
+''')
+
if __name__ == '__main__':
unittest.main()