tests: fix PYTHONPATH manipulation on Windows stable
authorMatt Harbison <matt_harbison@yahoo.com>
Fri, 04 Jan 2019 18:46:46 -0500
branchstable
changeset 4332 9980df8eda98
parent 4319 2d3ee6a25d2c
child 4333 824fcba2cdb4
tests: fix PYTHONPATH manipulation on Windows Without the semicolon separator and quotes, the variables ends up like this: c:\Users\Matt\projects\hg-evolve:c:\Users\Matt\projects\hg-evolve: c:\Users\Matt\projects\hg;c:\Users\Matt\projects\hg-evolve\tests; c:\Users\Matt\projects\hg\tests That in turn makes the local evolve code unreachable, and the system installed code is tested instead. I'm testing against `uname` instead of a trivial python script printing os.name because maybe one day tests will run on WSL.
tests/testlib/pythonpath.sh
--- a/tests/testlib/pythonpath.sh	Mon Dec 24 18:36:25 2018 +0100
+++ b/tests/testlib/pythonpath.sh	Fri Jan 04 18:46:46 2019 -0500
@@ -1,9 +1,14 @@
 # utility to setup pythonpath to point into the tested repository
 
-export SRCDIR=`dirname $TESTDIR`
+export SRCDIR="`dirname $TESTDIR`"
 if [ -n "$PYTHONPATH" ]; then
     export HGTEST_ORIG_PYTHONPATH=$PYTHONPATH
-    export PYTHONPATH=$SRCDIR:$PYTHONPATH
+    osname="`uname -o`"
+    if (uname -o | grep -q Msys); then
+        export PYTHONPATH="$SRCDIR;$PYTHONPATH"
+    else
+        export PYTHONPATH=$SRCDIR:$PYTHONPATH
+    fi
 else
     export PYTHONPATH=$SRCDIR
 fi