hghave: move from requiring the PYTHON3 env var to looking for `python3`
authorAugie Fackler <augie@google.com>
Wed, 25 Jul 2018 13:45:28 -0400
changeset 39351 4cfd1eebe6aa
parent 39350 5b92a717bfc1
child 39352 035517d48865
hghave: move from requiring the PYTHON3 env var to looking for `python3` We're starting to write new utility scripts in Python 3, and I think it's reasonable to expect `python3` to be something we should use if it's present. I wrote the regex to specifically ban Python 3 prior to Python 3.5 because we won't ever support that. I moved the only test that was using $PYTHON3 to just using `python3` directly. Differential Revision: https://phab.mercurial-scm.org/D4290
tests/hghave.py
tests/test-check-py3-compat.t
--- a/tests/hghave.py	Wed Aug 29 09:59:08 2018 -0700
+++ b/tests/hghave.py	Wed Jul 25 13:45:28 2018 -0400
@@ -631,7 +631,7 @@
 
 @check("py3exe", "a Python 3.x interpreter is available")
 def has_python3exe():
-    return 'PYTHON3' in os.environ
+    return matchoutput('python3 -V', br'^Python 3.(5|6|7|8|9)')
 
 @check("py3pygments", "Pygments available on Python 3.x")
 def has_py3pygments():
--- a/tests/test-check-py3-compat.t	Wed Aug 29 09:59:08 2018 -0700
+++ b/tests/test-check-py3-compat.t	Wed Jul 25 13:45:28 2018 -0400
@@ -27,7 +27,7 @@
   > -X hgdemandimport/demandimportpy2.py \
   > -X hgext/fsmonitor/pywatchman \
   > -X mercurial/thirdparty/cbor \
-  > | sed 's|\\|/|g' | xargs $PYTHON3 contrib/check-py3-compat.py \
+  > | sed 's|\\|/|g' | xargs python3 contrib/check-py3-compat.py \
   > | sed 's/[0-9][0-9]*)$/*)/'
   contrib/python-zstandard/setup.py not using absolute_import
   contrib/python-zstandard/setup_zstd.py not using absolute_import
@@ -48,6 +48,6 @@
 
 #if py3exe py3pygments
   $ testrepohg files 'set:(**.py) and grep(pygments)' | sed 's|\\|/|g' \
-  > | xargs $PYTHON3 contrib/check-py3-compat.py \
+  > | xargs python3 contrib/check-py3-compat.py \
   > | sed 's/[0-9][0-9]*)$/*)/'
 #endif