replace imp module
The imp module is deprecated since version 3.4 [1] https://docs.python.org/3/library/imp.html Change-Id: I7d0f07c338693b7c76e16359a36bfcf579ed0ee6
This commit is contained in:
parent
6725696d1b
commit
a1d32e9f0e
|
@ -12,11 +12,13 @@
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
import copy
|
import copy
|
||||||
import imp
|
import importlib
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
import six
|
import six
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
from multiprocessing import Lock
|
||||||
from unittest import mock
|
from unittest import mock
|
||||||
|
|
||||||
from tests import common
|
from tests import common
|
||||||
|
@ -24,6 +26,15 @@ from tests import common
|
||||||
log = logging.getLogger('test_hook_chef')
|
log = logging.getLogger('test_hook_chef')
|
||||||
|
|
||||||
|
|
||||||
|
def load_module(name, path):
|
||||||
|
module_spec = importlib.util.spec_from_file_location(
|
||||||
|
name, path
|
||||||
|
)
|
||||||
|
module = importlib.util.module_from_spec(module_spec)
|
||||||
|
module_spec.loader.exec_module(module)
|
||||||
|
return module
|
||||||
|
|
||||||
|
|
||||||
@mock.patch("os.chdir")
|
@mock.patch("os.chdir")
|
||||||
@mock.patch("os.makedirs")
|
@mock.patch("os.makedirs")
|
||||||
@mock.patch('subprocess.Popen')
|
@mock.patch('subprocess.Popen')
|
||||||
|
@ -67,11 +78,12 @@ class HookChefTest(common.RunScriptTest):
|
||||||
sys.stdout = sys.__stdout__
|
sys.stdout = sys.__stdout__
|
||||||
|
|
||||||
def get_module(self):
|
def get_module(self):
|
||||||
|
lock = Lock()
|
||||||
try:
|
try:
|
||||||
imp.acquire_lock()
|
lock.acquire()
|
||||||
return imp.load_source("hook_chef", self.hook_path)
|
return load_module("hook_chef", self.hook_path)
|
||||||
finally:
|
finally:
|
||||||
imp.release_lock()
|
lock.release()
|
||||||
|
|
||||||
def test_hook(self, mock_popen, mock_mkdirs, mock_chdir):
|
def test_hook(self, mock_popen, mock_mkdirs, mock_chdir):
|
||||||
data = copy.deepcopy(self.data)
|
data = copy.deepcopy(self.data)
|
||||||
|
|
Loading…
Reference in New Issue