Use importlib instead of imp
... because the imp module is deprecated since Python 3.4 . Closes-Bug: #1937904 Change-Id: Ib8f06ee629753faec73cf3a2f41e7c743b6e0b04
This commit is contained in:
parent
50d0797b79
commit
d571260d41
|
@ -16,7 +16,7 @@ from unittest import mock
|
|||
|
||||
import six
|
||||
|
||||
import imp
|
||||
import importlib
|
||||
|
||||
from os_win.tests.unit import test_base
|
||||
from os_win.utils import baseutils
|
||||
|
@ -29,7 +29,7 @@ class BaseUtilsTestCase(test_base.OsWinBaseTestCase):
|
|||
super(BaseUtilsTestCase, self).setUp()
|
||||
self.utils = baseutils.BaseUtils()
|
||||
self.utils._conn = mock.MagicMock()
|
||||
mock.patch.object(imp, 'load_source').start()
|
||||
mock.patch.object(importlib, 'util').start()
|
||||
|
||||
@mock.patch.object(baseutils, 'wmi', create=True)
|
||||
def test_get_wmi_obj(self, mock_wmi):
|
||||
|
@ -84,7 +84,7 @@ class BaseUtilsVirtTestCase(test_base.OsWinBaseTestCase):
|
|||
self.utils = baseutils.BaseUtilsVirt()
|
||||
self.utils._conn_attr = mock.MagicMock()
|
||||
baseutils.BaseUtilsVirt._os_version = None
|
||||
mock.patch.object(imp, 'load_source').start()
|
||||
mock.patch.object(importlib, 'util').start()
|
||||
|
||||
@mock.patch.object(baseutils.BaseUtilsVirt, '_get_wmi_conn')
|
||||
def test_conn(self, mock_get_wmi_conn):
|
||||
|
@ -110,13 +110,19 @@ class BaseUtilsVirtTestCase(test_base.OsWinBaseTestCase):
|
|||
mock_os]
|
||||
fake_module_path = '/fake/path/to/module'
|
||||
mock_wmi.__path__ = [fake_module_path]
|
||||
old_conn = imp.load_source.return_value.WMI.return_value
|
||||
|
||||
spec = importlib.util.spec_from_file_location.return_value
|
||||
module = importlib.util.module_from_spec.return_value
|
||||
old_conn = module.WMI.return_value
|
||||
|
||||
expected = old_conn.Msvm_VirtualSystemManagementService()[0]
|
||||
self.assertEqual(expected, self.utils._vs_man_svc)
|
||||
self.assertIsNone(self.utils._vs_man_svc_attr)
|
||||
imp.load_source.assert_called_once_with(
|
||||
importlib.util.spec_from_file_location.assert_called_once_with(
|
||||
'old_wmi', '%s.py' % fake_module_path)
|
||||
spec.loader.exec_module.assert_called_once_with(module)
|
||||
importlib.util.module_from_spec.assert_called_once_with(
|
||||
importlib.util.spec_from_file_location.return_value)
|
||||
|
||||
@mock.patch.object(baseutils.BaseUtilsVirt, '_get_wmi_compat_conn')
|
||||
def test_get_wmi_obj_compatibility_6_3(self, mock_get_wmi_compat):
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
Base WMI utility class.
|
||||
"""
|
||||
|
||||
import imp
|
||||
import importlib
|
||||
import sys
|
||||
import threading
|
||||
import time
|
||||
|
@ -108,7 +108,11 @@ class BaseUtilsVirt(BaseUtils):
|
|||
# .GetText_ have different results.
|
||||
if not BaseUtilsVirt._old_wmi:
|
||||
old_wmi_path = "%s.py" % wmi.__path__[0]
|
||||
BaseUtilsVirt._old_wmi = imp.load_source('old_wmi', old_wmi_path)
|
||||
spec = importlib.util.spec_from_file_location('old_wmi',
|
||||
old_wmi_path)
|
||||
module = importlib.util.module_from_spec(spec)
|
||||
spec.loader.exec_module(module)
|
||||
BaseUtilsVirt._old_wmi = module
|
||||
return BaseUtilsVirt._old_wmi.WMI(moniker=moniker, **kwargs)
|
||||
|
||||
def _get_wmi_obj(self, moniker, compatibility_mode=False, **kwargs):
|
||||
|
|
Loading…
Reference in New Issue