[PATCH] run-tests: make sure to check if pygments is installed before using it
Pulkit Goyal
7895pulkit at gmail.com
Fri Jul 14 21:05:28 UTC 2017
# HG changeset patch
# User Pulkit Goyal <7895pulkit at gmail.com>
# Date 1500065225 -19800
# Sat Jul 15 02:17:05 2017 +0530
# Node ID 07928a5240e51e2cd44f7e05fccda32053ee0133
# Parent 2cbccf36af1bd0d9ae9df1ad5fd4a7f8d870ae6c
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.
diff --git a/tests/run-tests.py b/tests/run-tests.py
--- a/tests/run-tests.py
+++ b/tests/run-tests.py
@@ -89,10 +89,12 @@
processlock = threading.Lock()
with_color = False
+pygmentspresent = False
try: # is pygments installed
import pygments
import pygments.lexers as lexers
import pygments.formatters as formatters
+ pygmentspresent = True
with_color = True
except ImportError:
pass
@@ -1647,7 +1649,7 @@
else:
self.stream.write('\n')
for line in lines:
- if with_color:
+ if with_color and pygmentspresent:
line = pygments.highlight(
line,
lexers.DiffLexer(),
diff --git a/tests/test-run-tests.t b/tests/test-run-tests.t
--- a/tests/test-run-tests.t
+++ b/tests/test-run-tests.t
@@ -121,6 +121,8 @@
test diff colorisation
+#if pygments
+
$ rt test-failure.t --color always
\x1b[38;5;124m--- $TESTTMP/test-failure.t\x1b[39m (esc)
@@ -138,6 +140,8 @@
python hash seed: * (glob)
[1]
+#endif
+
$ rt test-failure.t 2> tmp.log
[1]
$ cat tmp.log
More information about the Mercurial-devel
mailing list