run-tests: stop ignoring venv-installed packages
This will allow test dependencies to be installed within a venv, instead of
tampering with sys/user sites. One thing to note here is that the `VIRTUAL_ENV`
path takes precedence over system-site, unlike when run directly with an
activated `venv`. For example, `sys.path` as viewed from a feature test in
`hghave.py`, when running `hghave vcr` directly with an activated `venv`:
sys.path: [
'/home/jenkins/hg-committed/tests',
'/usr/lib/python38.zip',
'/usr/lib/python3.8',
'/usr/lib/python3.8/lib-dynload',
'/home/jenkins/test_venv/lib/python3.8/site-packages'
]
vs `sys.path` from the same feature test, when run by `run-tests.py` with this
change:
sys.path: [
'/home/jenkins/hg-committed/tests',
'/home/jenkins/hg-committed',
'/home/jenkins/hg-committed/tests',
'/home/jenkins/test_venv/lib/python3.8/site-packages',
'/usr/lib/python38.zip',
'/usr/lib/python3.8',
'/usr/lib/python3.8/lib-dynload',
'/home/jenkins/.local/lib/python3.8/site-packages',
'/usr/local/lib/python3.8/dist-packages',
'/usr/lib/python3/dist-packages'
]
#testcases bdiff xdiff
#if xdiff
#require xdiff
$ cat >> $HGRCPATH <<EOF
> [experimental]
> xdiff = true
> EOF
#endif
Test case that makes use of the weakness of patience diff algorithm
$ hg init
>>> open('a', 'wb').write(('\n'.join(list('a' + 'x' * 10 + 'u' + 'x' * 30 + 'a\n'))).encode('ascii')) and None
$ hg commit -m 1 -A a
>>> open('a', 'wb').write(('\n'.join(list('b' + 'x' * 30 + 'u' + 'x' * 10 + 'b\n'))).encode('ascii')) and None
#if xdiff
$ hg diff
diff -r f0aeecb49805 a
--- a/a Thu Jan 01 00:00:00 1970 +0000
+++ b/a Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +1,4 @@
-a
+b
x
x
x
@@ -9,7 +9,6 @@
x
x
x
-u
x
x
x
@@ -30,6 +29,7 @@
x
x
x
+u
x
x
x
@@ -40,5 +40,5 @@
x
x
x
-a
+b
#else
$ hg diff
diff -r f0aeecb49805 a
--- a/a Thu Jan 01 00:00:00 1970 +0000
+++ b/a Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +1,4 @@
-a
-x
-x
-x
-x
-x
-x
-x
-x
-x
-x
-u
+b
x
x
x
@@ -40,5 +29,16 @@
x
x
x
-a
+u
+x
+x
+x
+x
+x
+x
+x
+x
+x
+x
+b
#endif