From f11e35645e68888284e0a05e43baf6c4b56ceb4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= Date: Fri, 1 Sep 2023 11:56:09 +0200 Subject: [PATCH] Remove usage of deprecated imp module with importlib --- tests/loader.py | 16 ++++++++++++++++ tests/test_base.py | 7 +++---- tests/test_package_type_detection.py | 6 ++---- tests/test_python_pip2rpm.py | 5 ++--- tests/test_rpmspec.py | 4 ++-- 5 files changed, 25 insertions(+), 13 deletions(-) create mode 100644 tests/loader.py diff --git a/tests/loader.py b/tests/loader.py new file mode 100644 index 0000000..1087b26 --- /dev/null +++ b/tests/loader.py @@ -0,0 +1,16 @@ +import importlib.machinery +import importlib.util +from pathlib import Path + + +def import_set_version(): + """Imports the set_version script as a python module and returns it.""" + loader = importlib.machinery.SourceFileLoader( + 'set_version', + str(Path(__file__).parent.joinpath("..", "set_version")) + ) + spec = importlib.util.spec_from_loader('set_version', loader) + sv = importlib.util.module_from_spec(spec) + loader.exec_module(sv) + + return sv diff --git a/tests/test_base.py b/tests/test_base.py index c894bd4..0ebc1bd 100644 --- a/tests/test_base.py +++ b/tests/test_base.py @@ -15,7 +15,6 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,USA. -import imp import os import re import shutil @@ -25,15 +24,15 @@ import tempfile import unittest - from ddt import data, ddt, unpack +from loader import import_set_version + DEBUG = False if os.environ.get('DEBUG_SET_VERSION') == "1": DEBUG = True -# NOTE(toabctl): Hack to import non-module file for testing -sv = imp.load_source("set_version", "set_version") +sv = import_set_version() SET_VERSION_EXECUTABLE = os.path.abspath( diff --git a/tests/test_package_type_detection.py b/tests/test_package_type_detection.py index 231792c..82b768b 100644 --- a/tests/test_package_type_detection.py +++ b/tests/test_package_type_detection.py @@ -15,15 +15,13 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,USA. -import imp - from ddt import data, ddt, unpack from test_base import SetVersionBaseTest +from tests.loader import import_set_version -# NOTE(toabctl): Hack to import non-module file for testing -sv = imp.load_source("set_version", "set_version") +sv = import_set_version() @ddt diff --git a/tests/test_python_pip2rpm.py b/tests/test_python_pip2rpm.py index 270028a..db53ce8 100644 --- a/tests/test_python_pip2rpm.py +++ b/tests/test_python_pip2rpm.py @@ -15,7 +15,6 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,USA. -import imp import os import subprocess import unittest @@ -25,10 +24,10 @@ from packaging.version import parse from test_base import SetVersionBaseTest +from tests.loader import import_set_version -# NOTE(toabctl): Hack to import non-module file for testing -sv = imp.load_source("set_version", "set_version") +sv = import_set_version() def _has_zypper(): diff --git a/tests/test_rpmspec.py b/tests/test_rpmspec.py index 6c76307..7f1e3a1 100644 --- a/tests/test_rpmspec.py +++ b/tests/test_rpmspec.py @@ -16,13 +16,13 @@ import os -import imp import shutil from ddt import data, ddt, file_data, unpack from test_base import SetVersionBaseTest +from tests.loader import import_set_version -sv = imp.load_source("set_version", "set_version") +sv = import_set_version() @ddt