From 57483117b7a5a1e18d0529186a4214afed2dcf35 Mon Sep 17 00:00:00 2001 From: Franz Hempel Date: Tue, 16 Jan 2024 15:52:20 +0100 Subject: [PATCH 1/2] Import Driver Test Add a dictionary of drivers that cannot be tested and the corresponding reason. Add a check if the driver test should be skipped. --- tests/importability/import_driver.py | 31 +++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/tests/importability/import_driver.py b/tests/importability/import_driver.py index af3c5722..18deb9e4 100644 --- a/tests/importability/import_driver.py +++ b/tests/importability/import_driver.py @@ -49,6 +49,26 @@ def is_compatible(driver_name: str) -> bool: return False +# Driver name and reason for skipping +SKIPPED_DRIVERS = { + "Logger-MCC_DAQ" : "Driver requires installed manufacturer software", +} + +def should_skip_driver(driver_name: str) -> bool: + """Check if the driver can be tested on a virtual machine. + + Args: + driver_name: Name (folder) of the driver to import. + """ + if SKIPPED_DRIVERS.get(driver_name) is not None: + logging.debug( + f"Skipped importing {driver_name}. Reason: {SKIPPED_DRIVERS[driver_name]}", + ) + return True + + return False + + def import_driver(driver_name: str) -> None: """Let pysweepme import a driver from the src directory. @@ -90,9 +110,14 @@ def import_driver(driver_name: str) -> None: msg = "This script must be called with the driver name as first argument." raise IndexError(msg) from e -if is_compatible(driver_name): - import_driver(driver_name) -else: + +if not is_compatible(driver_name): logging.debug( f"Skipped importing {driver_name} because it is not meant to be compatible with this python version.", ) +elif should_skip_driver(driver_name): + logging.debug( + f"Skipped importing {driver_name} because it cannot be tested.", + ) +else: + import_driver(driver_name) \ No newline at end of file From 86a67bae2ca7a8e57dd5a737033a782cc43b83c3 Mon Sep 17 00:00:00 2001 From: Franz Hempel Date: Tue, 16 Jan 2024 17:28:58 +0100 Subject: [PATCH 2/2] Formatting enhanced Resolved comment --- tests/importability/import_driver.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/tests/importability/import_driver.py b/tests/importability/import_driver.py index 18deb9e4..1833465f 100644 --- a/tests/importability/import_driver.py +++ b/tests/importability/import_driver.py @@ -51,15 +51,16 @@ def is_compatible(driver_name: str) -> bool: # Driver name and reason for skipping SKIPPED_DRIVERS = { - "Logger-MCC_DAQ" : "Driver requires installed manufacturer software", + "Logger-MCC_DAQ": "Driver requires installed manufacturer software", } + def should_skip_driver(driver_name: str) -> bool: """Check if the driver can be tested on a virtual machine. - Args: - driver_name: Name (folder) of the driver to import. - """ + Args: + driver_name: Name (folder) of the driver to import. + """ if SKIPPED_DRIVERS.get(driver_name) is not None: logging.debug( f"Skipped importing {driver_name}. Reason: {SKIPPED_DRIVERS[driver_name]}", @@ -110,14 +111,11 @@ def import_driver(driver_name: str) -> None: msg = "This script must be called with the driver name as first argument." raise IndexError(msg) from e - if not is_compatible(driver_name): logging.debug( f"Skipped importing {driver_name} because it is not meant to be compatible with this python version.", ) elif should_skip_driver(driver_name): - logging.debug( - f"Skipped importing {driver_name} because it cannot be tested.", - ) + pass else: - import_driver(driver_name) \ No newline at end of file + import_driver(driver_name)