Patchwork [3,of,3,pip-fix] tests: add a test for installing hg with pip in a virtualenv

login
register
mail settings
Submitter Augie Fackler
Date June 6, 2017, 6:24 p.m.
Message ID <fed1c1d2fb7a5cb7e72c.1496773491@augie-macbookpro2.roam.corp.google.com>
Download mbox | patch
Permalink /patch/21223/
State Superseded
Headers show

Comments

Augie Fackler - June 6, 2017, 6:24 p.m.
# HG changeset patch
# User Augie Fackler <augie@google.com>
# Date 1496762198 14400
#      Tue Jun 06 11:16:38 2017 -0400
# Node ID fed1c1d2fb7a5cb7e72cc882bcea0651551c7758
# Parent  8d69b4886e678a7bc372097eeb33950592c53d43
tests: add a test for installing hg with pip in a virtualenv

Since we're doing so much clever junk in our setup.py, let's have a
test that exercises it.

Patch

diff --git a/tests/test-install.t b/tests/test-install.t
--- a/tests/test-install.t
+++ b/tests/test-install.t
@@ -173,3 +173,38 @@  path variables are expanded (~ is the sa
   Not tracked:
 
 #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.
+
+  $ cd $TESTTMP
+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 installenv >> pip.log
+  $ ./installenv/b?n/pip install $TESTDIR/.. >> pip.log
+  $ ./installenv/b?n/hg debuginstall || cat pip.log
+  checking encoding (ascii)...
+  checking Python executable (*) (glob)
+  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 (?)
+    SNI not supported by Python install; may have connectivity issues with some servers (?)
+  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 templates ($TESTTMP/installenv/lib*/python2.7/site-packages/mercurial/templates)... (glob)
+  checking default template ($TESTTMP/installenv/lib*/python2.7/site-packages/mercurial/templates/map-cmdline.default) (glob)
+  checking commit editor... (*) (glob)
+  checking username (test)
+  no problems detected
+#endif