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
--- 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