# HG changeset patch # User Augie Fackler # Date 1496762198 14400 # Node ID c94c1aeb35fbe226cb8571cddb9025768f56dd0e # Parent a6e4c4218b71d697c431017fe08b2358135e5f5a 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. Thanks to Matt Harbison for testing this on Windows and verifying that installenv/*/hg would work as a way to work around bin being called Scripts on Windows. diff -r a6e4c4218b71 -r c94c1aeb35fb tests/test-install.t --- a/tests/test-install.t Tue Jun 06 11:16:10 2017 -0400 +++ b/tests/test-install.t Tue Jun 06 11:16:38 2017 -0400 @@ -173,3 +173,40 @@ 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 +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 $TESTDIR/.. >> pip.log + $ ./installenv/*/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/*/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