diff --git a/pytest-embedded-arduino/pytest_embedded_arduino/__init__.py b/pytest-embedded-arduino/pytest_embedded_arduino/__init__.py index f4c982d0..a2bb2876 100644 --- a/pytest-embedded-arduino/pytest_embedded_arduino/__init__.py +++ b/pytest-embedded-arduino/pytest_embedded_arduino/__init__.py @@ -1,11 +1,22 @@ """Make pytest-embedded plugin work with Arduino.""" +import importlib + +from pytest_embedded.utils import lazy_load + from .app import ArduinoApp -from .serial import ArduinoSerial -__all__ = [ - 'ArduinoApp', - 'ArduinoSerial', -] +__getattr__ = lazy_load( + importlib.import_module(__name__), + { + 'ArduinoApp': ArduinoApp, + }, + { + 'ArduinoSerial': '.serial', # requires esp + }, +) + +__all__ = ['ArduinoApp', 'ArduinoSerial'] + __version__ = '1.10.0' diff --git a/pytest-embedded-idf/pytest_embedded_idf/__init__.py b/pytest-embedded-idf/pytest_embedded_idf/__init__.py index e25e1f2f..eac2145a 100644 --- a/pytest-embedded-idf/pytest_embedded_idf/__init__.py +++ b/pytest-embedded-idf/pytest_embedded_idf/__init__.py @@ -17,8 +17,8 @@ 'CaseTester': CaseTester, }, { - 'IdfSerial': '.serial', - 'IdfDut': '.dut', + 'IdfSerial': '.serial', # requires esp + 'IdfDut': '.dut', # requires esp }, ) diff --git a/pytest-embedded-qemu/pytest_embedded_qemu/__init__.py b/pytest-embedded-qemu/pytest_embedded_qemu/__init__.py index 40392fa0..324706f9 100644 --- a/pytest-embedded-qemu/pytest_embedded_qemu/__init__.py +++ b/pytest-embedded-qemu/pytest_embedded_qemu/__init__.py @@ -1,12 +1,28 @@ """Make pytest-embedded plugin work with QEMU.""" +import importlib + +from pytest_embedded.utils import lazy_load + DEFAULT_IMAGE_FN = 'flash_image.bin' ENCRYPTED_IMAGE_FN = f'encrypted_{DEFAULT_IMAGE_FN}' -from .app import QemuApp # noqa from .dut import QemuDut # noqa from .qemu import Qemu # noqa + +__getattr__ = lazy_load( + importlib.import_module(__name__), + { + 'Qemu': Qemu, + 'QemuDut': QemuDut, + }, + { + 'QemuApp': '.app', # requires idf + }, +) + + __all__ = [ 'DEFAULT_IMAGE_FN', 'ENCRYPTED_IMAGE_FN',