summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Behnel <stefan_ml@behnel.de>2018-10-22 20:59:39 +0200
committerGitHub <noreply@github.com>2018-10-22 20:59:39 +0200
commit336d8ca7489887a6582b3b997f374fc47de8133b (patch)
treee7e12eb7c2cf434d92a208d53a9a5fe1fe099c9b
parentcc02495da4e5186845ae6e5d754faf92cff6335b (diff)
parentd46b06fc0f98ff23a4d5736505258c6c335bdcc7 (diff)
downloadcython-336d8ca7489887a6582b3b997f374fc47de8133b.tar.gz
Merge pull request #2674 from jdemeyer/master
Fix reimport_from_subinterpreter test when PYTHONPATH is set
-rwxr-xr-xruntests.py5
-rw-r--r--tests/run/reimport_from_subinterpreter.srctree9
2 files changed, 10 insertions, 4 deletions
diff --git a/runtests.py b/runtests.py
index e30c5982f..69cc1db7c 100755
--- a/runtests.py
+++ b/runtests.py
@@ -1734,7 +1734,10 @@ class EndToEndTest(unittest.TestCase):
.replace("PYTHON", sys.executable))
old_path = os.environ.get('PYTHONPATH')
env = dict(os.environ)
- env['PYTHONPATH'] = self.cython_syspath + os.pathsep + (old_path or '')
+ new_path = self.cython_syspath
+ if old_path:
+ new_path = new_path + os.pathsep + old_path
+ env['PYTHONPATH'] = new_path
cmd = []
out = []
err = []
diff --git a/tests/run/reimport_from_subinterpreter.srctree b/tests/run/reimport_from_subinterpreter.srctree
index 98b159981..22b62517e 100644
--- a/tests/run/reimport_from_subinterpreter.srctree
+++ b/tests/run/reimport_from_subinterpreter.srctree
@@ -59,11 +59,14 @@ def run_sub():
assert 0 == run_in_subinterpreter(b'1+1')
assert 0 == run_in_subinterpreter(b'2+2')
- assert 0 == run_in_subinterpreter(b'import package')
- assert 0 == run_in_subinterpreter(b'import package')
+ # The subinterpreter does not add the current working directory to
+ # sys.path, so we need to add it manually.
+ pre = b'import sys; sys.path.insert(0, "."); '
+ assert 0 == run_in_subinterpreter(pre + b'import package')
+ assert 0 == run_in_subinterpreter(pre + b'import package')
import sys
- result = run_in_subinterpreter(b'import package.subtest')
+ result = run_in_subinterpreter(pre + b'import package.subtest')
if not MAIN_HAS_IMPORTED:
assert result == 0, result # imports only in subinterpreters are ok
elif sys.version_info >= (3, 5):