From 8c2e8031b29d58975f52a0f105e51f36a16c375a Mon Sep 17 00:00:00 2001 From: Nick Wellnhofer Date: Tue, 5 Sep 2023 16:48:45 +0200 Subject: [PATCH] python: Fix tests on MinGW Add the directories containing required DLLs with os.add_dll_directory to make tests work on MinGW. --- python/tests/Makefile.am | 2 +- python/tests/basic.py | 1 + python/tests/exslt.py | 1 + python/tests/extelem.py | 1 + python/tests/extfunc.py | 1 + python/tests/setup_test.py | 8 ++++++++ 6 files changed, 13 insertions(+), 1 deletion(-) mode change 100644 => 100755 python/tests/extelem.py create mode 100644 python/tests/setup_test.py diff --git a/python/tests/Makefile.am b/python/tests/Makefile.am index 861151fc..3503b168 100644 --- a/python/tests/Makefile.am +++ b/python/tests/Makefile.am @@ -21,7 +21,7 @@ check-local: $(TESTSPY) fi; \ for test in $(TESTSPY) ; do \ echo "-- $$test" ; \ - $(PYTHON) $(srcdir)/$$test; \ + LIBXML_SRC="$(LIBXML_SRC)" $(PYTHON) $(srcdir)/$$test; \ done) endif diff --git a/python/tests/basic.py b/python/tests/basic.py index 437c9f53..b7cd115d 100755 --- a/python/tests/basic.py +++ b/python/tests/basic.py @@ -1,6 +1,7 @@ #!/usr/bin/env python import os import sys +import setup_test import libxml2 # Memory debug specific libxml2.debugMemory(1) diff --git a/python/tests/exslt.py b/python/tests/exslt.py index b859d187..b94fe268 100755 --- a/python/tests/exslt.py +++ b/python/tests/exslt.py @@ -1,5 +1,6 @@ #!/usr/bin/env python import sys +import setup_test import libxml2 # Memory debug specific libxml2.debugMemory(1) diff --git a/python/tests/extelem.py b/python/tests/extelem.py old mode 100644 new mode 100755 index 2528a399..af6d735a --- a/python/tests/extelem.py +++ b/python/tests/extelem.py @@ -1,6 +1,7 @@ #!/usr/bin/env python import sys import string +import setup_test import libxml2 # Memory debug specific libxml2.debugMemory(1) diff --git a/python/tests/extfunc.py b/python/tests/extfunc.py index 0853a55e..2c0b0aa1 100755 --- a/python/tests/extfunc.py +++ b/python/tests/extfunc.py @@ -1,6 +1,7 @@ #!/usr/bin/env python import sys import string +import setup_test import libxml2 # Memory debug specific libxml2.debugMemory(1) diff --git a/python/tests/setup_test.py b/python/tests/setup_test.py new file mode 100644 index 00000000..8574ff3e --- /dev/null +++ b/python/tests/setup_test.py @@ -0,0 +1,8 @@ +import os + +if hasattr(os, 'add_dll_directory'): + os.add_dll_directory(os.path.join(os.getcwd(), '..', '..', 'libxslt', '.libs')) + os.add_dll_directory(os.path.join(os.getcwd(), '..', '..', 'libexslt', '.libs')) + libxml_src = os.getenv('LIBXML_SRC') + if libxml_src is not None and libxml_src != '': + os.add_dll_directory(os.path.join(libxml_src, '.libs'))