From 3d5254948ce8dc1019d55282a9cbd03f84b9bdbc Mon Sep 17 00:00:00 2001 From: Tobias Jaster Date: Sun, 9 Jun 2024 13:21:48 +0200 Subject: [PATCH] Replace imp with importlib for python3.12 --- .../mbed_greentea/mbed_greentea_cli.py | 4 ++-- packages/mbed-greentea/requirements.txt | 6 ++++-- packages/mbed-greentea/test_requirements.txt | 3 ++- packages/mbed-host-tests/requirements.txt | 3 ++- packages/mbed-host-tests/test_requirements.txt | 3 ++- packages/mbed-ls/requirements.txt | 6 ++++-- packages/mbed-ls/test_requirements.txt | 6 ++++-- requirements.txt | 8 ++++++-- src/mbed_os_tools/test/__init__.py | 4 ++-- test/test/conn_primitive_remote.py | 6 +++--- test_requirements.txt | 18 ++++++++++++------ 11 files changed, 43 insertions(+), 24 deletions(-) diff --git a/packages/mbed-greentea/mbed_greentea/mbed_greentea_cli.py b/packages/mbed-greentea/mbed_greentea/mbed_greentea_cli.py index 2fbd6c568e..59eeba86ae 100644 --- a/packages/mbed-greentea/mbed_greentea/mbed_greentea_cli.py +++ b/packages/mbed-greentea/mbed_greentea/mbed_greentea_cli.py @@ -22,7 +22,7 @@ import sys import random import optparse -import imp +import importlib import io from time import time try: @@ -187,7 +187,7 @@ def main(): # Show --fm option only if "fm_agent" module installed try: - imp.find_module('fm_agent') + importlib.util.find_spec('fm_agent') except ImportError: fm_help=optparse.SUPPRESS_HELP else: diff --git a/packages/mbed-greentea/requirements.txt b/packages/mbed-greentea/requirements.txt index edc685077e..ba8b5e02fc 100644 --- a/packages/mbed-greentea/requirements.txt +++ b/packages/mbed-greentea/requirements.txt @@ -1,2 +1,4 @@ -mbed-os-tools>=0.0.9 -mbed-host-tests>=1.5.0,<2 +mbed-os-tools>=0.0.9; python_version <= '3.7' +mbed-os-tools; python_version > '3.7' +mbed-host-tests>=1.5.0,<2; python_version <= '3.7' +mbed-host-tests; python_version > '3.7' diff --git a/packages/mbed-greentea/test_requirements.txt b/packages/mbed-greentea/test_requirements.txt index 429709a2d2..4a0b7cf48a 100644 --- a/packages/mbed-greentea/test_requirements.txt +++ b/packages/mbed-greentea/test_requirements.txt @@ -1,3 +1,4 @@ -mock>=2 +mock>=2; python_version <= '3.7' +mock; python_version > '3.7' coverage coveralls diff --git a/packages/mbed-host-tests/requirements.txt b/packages/mbed-host-tests/requirements.txt index 68e2449ffc..0c130cb17b 100644 --- a/packages/mbed-host-tests/requirements.txt +++ b/packages/mbed-host-tests/requirements.txt @@ -1 +1,2 @@ -mbed-os-tools>=0.0.9 +mbed-os-tools>=0.0.9; python_version <= '3.7' +mbed-os-tools; python_version > '3.7' diff --git a/packages/mbed-host-tests/test_requirements.txt b/packages/mbed-host-tests/test_requirements.txt index 429709a2d2..4a0b7cf48a 100644 --- a/packages/mbed-host-tests/test_requirements.txt +++ b/packages/mbed-host-tests/test_requirements.txt @@ -1,3 +1,4 @@ -mock>=2 +mock>=2; python_version <= '3.7' +mock; python_version > '3.7' coverage coveralls diff --git a/packages/mbed-ls/requirements.txt b/packages/mbed-ls/requirements.txt index 2aeb86552c..d4a6ec736d 100644 --- a/packages/mbed-ls/requirements.txt +++ b/packages/mbed-ls/requirements.txt @@ -1,3 +1,5 @@ PrettyTable<=1.0.1; python_version < '3.6' -prettytable>=2.0,<3.0; python_version >= '3.6' -mbed-os-tools>=0.0.9 +prettytable>=2.0,<3.0; python_version == '3.7' +prettytable; python_version > '3.7' +mbed-os-tools>=0.0.9; python_version <= '3.7' +mbed-os-tools; python_version > '3.7' diff --git a/packages/mbed-ls/test_requirements.txt b/packages/mbed-ls/test_requirements.txt index c02522629e..632abc88e4 100644 --- a/packages/mbed-ls/test_requirements.txt +++ b/packages/mbed-ls/test_requirements.txt @@ -1,4 +1,6 @@ -mock>=2 -pytest>=3 +mock>=2; python_version <= '3.7' +mock; python_version > '3.7' +pytest>=3; python_version <= '3.7' +pytest; python_version > '3.7' coverage coveralls diff --git a/requirements.txt b/requirements.txt index 18d75744ff..9984cd7912 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ requests; python_version > '3.7' intelhex>=2.0,<3.0; python_version <= '3.7' intelhex; python_version > '3.7' future -PrettyTable<=1.0.1; python_version < '3.6' +PrettyTable<=1.0.1; python_version <= '3.6' prettytable>=2.0,<3.0; python_version == '3.7' prettytable; python_version > '3.7' fasteners @@ -19,5 +19,9 @@ six; python_version > '3.7' colorama>=0.3,<0.5; python_version <= '3.7' colorama; python_version > '3.7' # When using beautiful soup, the XML parser needs to be installed independently. It is only needed on macOs though. -beautifulsoup4 +beautifulsoup4<4.13.0; python_version <= '3.6' #__future__ added +beautifulsoup4; python_version >= '3.7' +soupsieve<2.4; python_version <= '3.7' #__future__ added +soupsieve; python_version > '3.7' lxml; sys_platform == 'darwin' +setuptools; python_version >= '3.12' diff --git a/src/mbed_os_tools/test/__init__.py b/src/mbed_os_tools/test/__init__.py index eca1fec65d..aa8ff3f6ee 100644 --- a/src/mbed_os_tools/test/__init__.py +++ b/src/mbed_os_tools/test/__init__.py @@ -22,7 +22,7 @@ """ -import imp +import importlib import sys from optparse import OptionParser from optparse import SUPPRESS_HELP @@ -245,7 +245,7 @@ def init_host_test_cli_params(): # Show --fm option only if "fm_agent" module installed try: - imp.find_module("fm_agent") + importlib.util.find_spec("fm_agent") except ImportError: fm_help = SUPPRESS_HELP else: diff --git a/test/test/conn_primitive_remote.py b/test/test/conn_primitive_remote.py index aaca449638..7b2e5850a5 100644 --- a/test/test/conn_primitive_remote.py +++ b/test/test/conn_primitive_remote.py @@ -78,7 +78,7 @@ def setUp(self): def test_constructor(self): self.importer.assert_called_once_with("RemoteModuleMock") - self.remote.client.get_resources.called_once() + self.remote.client.get_resources.assert_called_once() self.assertEqual(self.remote.remote_module, RemoteModuleMock) self.assertIsInstance(self.remote.client, RemoteModuleMock) self.assertIsInstance(self.remote.selected_resource, RemoteResourceMock) @@ -91,10 +91,10 @@ def test_constructor(self): 'tags': {"a": True, "b": True}}) # flash is called - self.remote.selected_resource.open_connection.called_once_with("test.bin") + ## self.remote.selected_resource.open_connection.called_once_with("test.bin") # open_connection is called - self.remote.selected_resource.open_connection.called_once() + self.remote.selected_resource.open_connection.assert_called_once() connect = self.remote.selected_resource.open_connection.call_args[1] self.assertEqual(connect["parameters"].baudrate, 9600) diff --git a/test_requirements.txt b/test_requirements.txt index d5200c286f..e9d60e7654 100644 --- a/test_requirements.txt +++ b/test_requirements.txt @@ -1,6 +1,12 @@ -coverage>=4,<5 -coveralls>=1,<2 -mock>=2,<4 -pytest>=3,<5 -wheel>=0.34 -setuptools-scm>=4.1 +coverage>=4,<5; python_version <= '3.7' +coverage; python_version > '3.7' +coveralls>=1,<2; python_version <= '3.7' +coveralls; python_version > '3.7' +mock>=2,<4; python_version <= '3.7' +mock; python_version > '3.7' +pytest>=3,<5; python_version <= '3.7' +pytest; python_version > '3.7' +wheel>=0.34; python_version <= '3.7' +wheel; python_version > '3.7' +setuptools-scm>=4.1; python_version <= '3.7' +setuptools-scm; python_version > '3.7'