Patchwork D7224: tests: use venv on Python 3

login
register
mail settings
Submitter phabricator
Date Nov. 5, 2019, 4:44 a.m.
Message ID <1aac8aa9566cdd0fbe5440591b66f5a6@localhost.localdomain>
Download mbox | patch
Permalink /patch/42740/
State Not Applicable
Headers show

Comments

phabricator - Nov. 5, 2019, 4:44 a.m.
Closed by commit rHG9bab6407c2c9: tests: use venv on Python 3 (authored by indygreg).
This revision was automatically updated to reflect the committed changes.
This revision was not accepted when it landed; it landed in state "Needs Review".

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D7224?vs=17543&id=17546

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D7224/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D7224

AFFECTED FILES
  tests/test-install.t

CHANGE DETAILS




To: indygreg, #hg-reviewers
Cc: mjpieters, mercurial-devel

Patch

diff --git a/tests/test-install.t b/tests/test-install.t
--- a/tests/test-install.t
+++ b/tests/test-install.t
@@ -236,20 +236,53 @@ 
 
 #endif
 
-#if virtualenv
-
 Verify that Mercurial is installable with pip. Note that this MUST be
 the last test in this file, because we do some nasty things to the
 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.
+On Python 2, we use the 3rd party virtualenv module, if available.
+
   $ cd $TESTTMP
+  $ unset PYTHONPATH
+
+#if py3
+  $ "$PYTHON" -m venv installenv >> pip.log
+
+Note: we use this weird path to run pip and hg to avoid platform differences,
+since it's bin on most platforms but Scripts on Windows.
+  $ ./installenv/*/pip install --no-index $TESTDIR/.. >> pip.log
+  $ ./installenv/*/hg debuginstall || cat pip.log
+  checking encoding (ascii)...
+  checking Python executable (*) (glob)
+  checking Python version (3.*) (glob)
+  checking Python lib (*)... (glob)
+  checking Python security support (*) (glob)
+  checking Mercurial version (*) (glob)
+  checking Mercurial custom build (*) (glob)
+  checking module policy (*) (glob)
+  checking installed modules (*/mercurial)... (glob)
+  checking registered compression engines (*) (glob)
+  checking available compression engines (*) (glob)
+  checking available compression engines for wire protocol (*) (glob)
+  checking "re2" regexp engine \((available|missing)\) (re)
+  checking templates ($TESTTMP/installenv/*/site-packages/mercurial/templates)... (glob)
+  checking default template ($TESTTMP/installenv/*/site-packages/mercurial/templates/map-cmdline.default) (glob)
+  checking commit editor... (*) (glob)
+  checking username (test)
+  no problems detected
+#endif
+
+#if no-py3 virtualenv
+
 Note: --no-site-packages is deprecated, but some places have an
 ancient virtualenv from their linux distro or similar and it's not yet
 the default for them.
-  $ unset PYTHONPATH
+
   $ "$PYTHON" -m virtualenv --no-site-packages --never-download installenv >> pip.log
   DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. (?)
   DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support (?)
+
 Note: we use this weird path to run pip and hg to avoid platform differences,
 since it's bin on most platforms but Scripts on Windows.
   $ ./installenv/*/pip install --no-index $TESTDIR/.. >> pip.log
@@ -258,8 +291,7 @@ 
   $ ./installenv/*/hg debuginstall || cat pip.log
   checking encoding (ascii)...
   checking Python executable (*) (glob)
-  checking Python version (2.*) (glob) (no-py3 !)
-  checking Python version (3.*) (glob) (py3 !)
+  checking Python version (2.*) (glob)
   checking Python lib (*)... (glob)
   checking Python security support (*) (glob)
     TLS 1.2 not supported by Python install; network connections lack modern security (?)