[gtk/fix-introspection-tests-win] testsuite: Fix introspection test on Windows
- From: Chun-wei Fan <fanchunwei src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/fix-introspection-tests-win] testsuite: Fix introspection test on Windows
- Date: Mon, 25 Apr 2022 07:37:54 +0000 (UTC)
commit daf171f055bd44d6ef7a8054cf17e9f24fba9694
Author: Chun-wei Fan <fanchunwei src gnome org>
Date: Mon Apr 25 15:28:44 2022 +0800
testsuite: Fix introspection test on Windows
...when we are using Python 3.8.x or later. Python 3.8.x or later on Windows
require one to call os.add_dll_directory() on every directory that contains
dependent non-system DLLs of a module that are not bundled/installed with the
module.
Since we are very likely running programs that rely on dependent items in
%PATH%, make things easier for people by calling os.add_dll_directory() on
all the valid paths in %PATH% in api.py, so that the test will run
successfully on Windows with Python 3.8.x or later.
testsuite/introspection/api.py | 13 +++++++++++++
1 file changed, 13 insertions(+)
---
diff --git a/testsuite/introspection/api.py b/testsuite/introspection/api.py
index c35b2b7448..1048bb8811 100755
--- a/testsuite/introspection/api.py
+++ b/testsuite/introspection/api.py
@@ -1,6 +1,19 @@
#! /usr/bin/env python3
+import os
import sys
+
+# Python 3.8.x or later on Windows require os.add_dll_directory()
+# to be called on every directory that contains the required
+# non-bundled, non-system DLLs of a module so that the module can
+# be loaded successfully by Python. Make things easiler for people
+# by calling os.add_dll_directory() on the valid paths in %PATH%.
+if hasattr(os, 'add_dll_directory'):
+ paths = os.environ['PATH'].split(os.pathsep)
+ for path in paths:
+ if path != '' and os.path.isdir (path):
+ os.add_dll_directory(path.rstrip(os.sep))
+
import gi
gi.require_version('Gtk', '4.0')
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]