changeset 33552:754569f5e999

run-tests: make sure to check if pygments is installed before using it e80041832e introduced support to color the output of tests but used pygments without checking whether it's installed or not. That breaks test-run-tests.t for machines which don't have pygments installed. This patch conditionalize the color test in test-run-tests.t and also add a check to make sure pygments is installed before using that.
author Pulkit Goyal <7895pulkit@gmail.com>
date Sat, 15 Jul 2017 02:17:05 +0530
parents 1d1779734c99
children 9c4e2aa0a239
files tests/run-tests.py tests/test-run-tests.t
diffstat 2 files changed, 4 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/tests/run-tests.py	Sat Jul 15 13:21:23 2017 -0700
+++ b/tests/run-tests.py	Sat Jul 15 02:17:05 2017 +0530
@@ -89,7 +89,7 @@
 processlock = threading.Lock()
 
 with_color = False
-
+pygmentspresent = False
 # ANSI color is unsupported prior to Windows 10
 if os.name != 'nt':
     try: # is pygments installed
@@ -97,6 +97,7 @@
         import pygments.lexers as lexers
         import pygments.formatters as formatters
         with_color = True
+        pygmentspresent = True
     except ImportError:
         pass
 
@@ -1650,7 +1651,7 @@
                 else:
                     self.stream.write('\n')
                     for line in lines:
-                        if with_color:
+                        if with_color and pygmentspresent:
                             line = pygments.highlight(
                                     line,
                                     lexers.DiffLexer(),
--- a/tests/test-run-tests.t	Sat Jul 15 13:21:23 2017 -0700
+++ b/tests/test-run-tests.t	Sat Jul 15 02:17:05 2017 +0530
@@ -121,7 +121,7 @@
 
 test diff colorisation
 
-#if no-windows
+#if no-windows pygments
   $ rt test-failure.t --color always
   
   \x1b[38;5;124m--- $TESTTMP/test-failure.t\x1b[39m (esc)