diff --git a/tests/hghave.py b/tests/hghave.py --- a/tests/hghave.py +++ b/tests/hghave.py @@ -829,6 +829,17 @@ return os.path.exists('/dev/full') +@check("ensurepip", "ensurepip module") +def has_ensurepip(): + try: + import ensurepip + + ensurepip.bootstrap + return True + except ImportError: + return False + + @check("virtualenv", "Python virtualenv support") def has_virtualenv(): try: diff --git a/tests/test-install.t b/tests/test-install.t --- a/tests/test-install.t +++ b/tests/test-install.t @@ -241,12 +241,15 @@ shell environment in order to make the virtualenv work reliably. On Python 3, we use the venv module, which is part of the standard library. +But some Linux distros strip out this module's functionality involving pip, +so we have to look for the ensurepip module, which these distros strip out +completely. On Python 2, we use the 3rd party virtualenv module, if available. $ cd $TESTTMP $ unset PYTHONPATH -#if py3 +#if py3 ensurepip $ "$PYTHON" -m venv installenv >> pip.log Note: we use this weird path to run pip and hg to avoid platform differences,