aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Reiter <reiter.christoph@gmail.com>2023-08-08 09:26:33 +0200
committerEli Schwartz <eschwartz93@gmail.com>2023-08-08 16:32:39 -0400
commit6671b7359fd042f576f5b944b67f73ced89fe5a6 (patch)
tree1ce05703966a3c281e327f2e2bbc4a33f2218283
parentec1081666578fe33a75f2c03b6ee9582806d012f (diff)
downloadmeson-6671b7359fd042f576f5b944b67f73ced89fe5a6.zip
meson-6671b7359fd042f576f5b944b67f73ced89fe5a6.tar.gz
meson-6671b7359fd042f576f5b944b67f73ced89fe5a6.tar.bz2
tests: fix "4 custom target depends extmodule" with Python 3.8+ on Windows
Since CPython 3.8 .pyd files no longer look in PATH for loading libraries, but require the DLL directory to be explicitely added via os.add_dll_directory(). This resulted in those tests failing with 3.8+ on Windows. Add the DLL build directory with os.add_dll_directory() to fix them. This was never noticed in CI because it only uses Python 3.7 and the MSYS2 CPython still used the old behaviour until now.
-rw-r--r--test cases/python/4 custom target depends extmodule/blaster.py3
-rw-r--r--test cases/python3/4 custom target depends extmodule/blaster.py3
2 files changed, 6 insertions, 0 deletions
diff --git a/test cases/python/4 custom target depends extmodule/blaster.py b/test cases/python/4 custom target depends extmodule/blaster.py
index 61b11f9..65b6493 100644
--- a/test cases/python/4 custom target depends extmodule/blaster.py
+++ b/test cases/python/4 custom target depends extmodule/blaster.py
@@ -10,6 +10,9 @@ filedir = Path(os.path.dirname(__file__)).resolve()
if list(filedir.glob('ext/*tachyon*')):
sys.path.insert(0, (filedir / 'ext').as_posix())
+if hasattr(os, 'add_dll_directory'):
+ os.add_dll_directory(filedir / 'ext' / 'lib')
+
import tachyon
parser = argparse.ArgumentParser()
diff --git a/test cases/python3/4 custom target depends extmodule/blaster.py b/test cases/python3/4 custom target depends extmodule/blaster.py
index d2c93ad..9cce645 100644
--- a/test cases/python3/4 custom target depends extmodule/blaster.py
+++ b/test cases/python3/4 custom target depends extmodule/blaster.py
@@ -10,6 +10,9 @@ filedir = Path(os.path.dirname(__file__)).resolve()
if list(filedir.glob('ext/*tachyon.*')):
sys.path.insert(0, (filedir / 'ext').as_posix())
+if hasattr(os, 'add_dll_directory'):
+ os.add_dll_directory(filedir / 'ext' / 'lib')
+
import tachyon
parser = argparse.ArgumentParser()