# HG changeset patch # User Yuya Nishihara # Date 2016-08-17 11:52:50 # Node ID 7025693433b2ba12cbe72587364e62d3d14d0cdf # Parent 8d226db31f20b8c4a2c119e10be7533948f0bad6 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 +@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 (, line *) (glob) hgext/acl.py: error importing: str expected, not bytes (error at encoding.py:*) (glob) @@ -48,7 +48,7 @@ hgext/gpg.py: error importing: str expected, not bytes (error at encoding.py:*) (glob) hgext/graphlog.py: error importing: str expected, not bytes (error at encoding.py:*) (glob) hgext/hgk.py: error importing: str expected, not bytes (error at encoding.py:*) (glob) - hgext/highlight/highlight.py: error importing module: No module named 'pygments' (line 13) + hgext/highlight/highlight.py: error importing: str expected, not bytes (error at encoding.py:*) (glob) hgext/histedit.py: error importing: str expected, not bytes (error at encoding.py:*) (glob) hgext/journal.py: error importing: str expected, not bytes (error at encoding.py:*) (glob) hgext/keyword.py: error importing: str expected, not bytes (error at encoding.py:*) (glob)