Ver Fonte

mac: fix dyld module name

Fabian Peter Hammerle há 5 anos atrás
pai
commit
7fb915a9b6
2 ficheiros alterados com 8 adições e 5 exclusões
  1. 1 1
      dlinfo/_macosx.py
  2. 7 4
      tests/dlinfo_macosx_mock_test.py

+ 1 - 1
dlinfo/_macosx.py

@@ -1,6 +1,6 @@
 import ctypes
 # pylint: disable=import-error,no-name-in-module
-from ctypes.macholib.dylib import dyld_find
+from ctypes.macholib.dyld import dyld_find
 
 
 class DLInfo:

+ 7 - 4
tests/dlinfo_macosx_mock_test.py

@@ -2,6 +2,7 @@ import ctypes
 import ctypes.util
 import os
 import sys
+import types
 import unittest.mock
 
 import pytest
@@ -13,11 +14,13 @@ def dyld_find_mock(name):
 
 
 @pytest.fixture
-def dlinfo_module_mac():
+def dlinfo_module_mac() -> types.ModuleType:
     with unittest.mock.patch('sys.platform', 'darwin'):
-        sys.modules['ctypes.macholib.dylib'] = unittest.mock.Mock()
-        sys.modules['ctypes.macholib.dylib'].dyld_find = dyld_find_mock
-        return __import__('dlinfo')
+        sys.modules['ctypes.macholib.dyld'] = unittest.mock.Mock()
+        sys.modules['ctypes.macholib.dyld'].dyld_find = dyld_find_mock
+        dlinfo_module = __import__('dlinfo')
+        assert dlinfo_module.DLInfo.__module__ == 'dlinfo._macosx'
+        return dlinfo_module
 
 
 @pytest.mark.parametrize('lib_name', [