# HG changeset patch
# User Pulkit Goyal <7895pul...@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
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to