diff options
author | Jan Niklas Hasse <jhasse@bixense.com> | 2018-11-13 14:15:43 (GMT) |
---|---|---|
committer | Jan Niklas Hasse <jhasse@bixense.com> | 2018-11-13 14:15:43 (GMT) |
commit | bf7107bb864d0383028202e3f4a4228c02302961 (patch) | |
tree | ad4ecdd3f32ab606d5d664862a400c2f3d4641ad /misc/output_test.py | |
parent | 99c5c2287b11c8bab05fb2a8cf89dc4856c708bc (diff) | |
download | Ninja-bf7107bb864d0383028202e3f4a4228c02302961.zip Ninja-bf7107bb864d0383028202e3f4a4228c02302961.tar.gz Ninja-bf7107bb864d0383028202e3f4a4228c02302961.tar.bz2 |
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/output_test.py')
-rwxr-xr-x | misc/output_test.py | 21 |
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() |