[PATCH 1 of 2 V2] py3: have check-py3-compat require pygments to get stable result

Yuya Nishihara yuya at tcha.org
Thu Aug 18 09:29:24 UTC 2016


# HG changeset patch
# User Yuya Nishihara <yuya at tcha.org>
# Date 1471434770 -32400
#      Wed Aug 17 20:52:50 2016 +0900
# Node ID 2d43c878f4c42bf973742cc1cfa4c869250be4cf
# Parent  dab7069fc2bd079064d8d71b4b962d327abfd8c1
py3: have check-py3-compat require pygments to get stable result

diff --git a/tests/hghave.py b/tests/hghave.py
--- a/tests/hghave.py
+++ b/tests/hghave.py
@@ -544,6 +544,16 @@ def has_py3k():
 def has_python3exe():
     return 'PYTHON3' in os.environ
 
+ at check("py3pygments", "Pygments available on Python 3.x")
+def has_py3pygments():
+    if has_py3k():
+        return has_pygments()
+    elif has_python3exe():
+        # just check exit status (ignoring output)
+        py3 = os.environ['PYTHON3']
+        return matchoutput('%s -c "import pygments"' % py3, br'')
+    return False
+
 @check("pure", "running with pure Python code")
 def has_pure():
     return any([
diff --git a/tests/test-check-py3-compat.t b/tests/test-check-py3-compat.t
--- a/tests/test-check-py3-compat.t
+++ b/tests/test-check-py3-compat.t
@@ -12,7 +12,7 @@
   setup.py not using absolute_import
   tests/test-demandimport.py not using absolute_import
 
-#if py3exe
+#if py3exe py3pygments
   $ hg files 'set:(**.py)' | sed 's|\\|/|g' | xargs $PYTHON3 contrib/check-py3-compat.py
   doc/hgmanpage.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
   hgext/acl.py: error importing: <TypeError> str expected, not bytes (error at encoding.py:*) (glob)
@@ -48,7 +48,7 @@
   hgext/gpg.py: error importing: <TypeError> str expected, not bytes (error at encoding.py:*) (glob)
   hgext/graphlog.py: error importing: <TypeError> str expected, not bytes (error at encoding.py:*) (glob)
   hgext/hgk.py: error importing: <TypeError> str expected, not bytes (error at encoding.py:*) (glob)
-  hgext/highlight/highlight.py: error importing module: <ImportError> No module named 'pygments' (line 13)
+  hgext/highlight/highlight.py: error importing: <TypeError> str expected, not bytes (error at encoding.py:*) (glob)
   hgext/histedit.py: error importing: <TypeError> str expected, not bytes (error at encoding.py:*) (glob)
   hgext/journal.py: error importing: <TypeError> str expected, not bytes (error at encoding.py:*) (glob)
   hgext/keyword.py: error importing: <TypeError> str expected, not bytes (error at encoding.py:*) (glob)


More information about the Mercurial-devel mailing list