diff --git a/src/blueapi/core/context.py b/src/blueapi/core/context.py index f7af3368c..63a2965d0 100644 --- a/src/blueapi/core/context.py +++ b/src/blueapi/core/context.py @@ -296,6 +296,9 @@ def with_device_manager(self, manager: DeviceManager, mock: bool = False): or build_result.connection_errors ): LOGGER.warning("Device manager did not build any devices") + + utils.report_successful_devices(build_result.devices, mock) + return build_result.devices, { **build_result.build_errors, **build_result.connection_errors, diff --git a/src/blueapi/utils/__init__.py b/src/blueapi/utils/__init__.py index 4d17e5857..81c100bdc 100644 --- a/src/blueapi/utils/__init__.py +++ b/src/blueapi/utils/__init__.py @@ -1,5 +1,5 @@ from .base_model import BlueapiBaseModel, BlueapiModelConfig, BlueapiPlanModelConfig -from .connect_devices import connect_devices +from .connect_devices import connect_devices, report_successful_devices from .file_permissions import get_owner_gid, is_sgid_set from .invalid_config_error import InvalidConfigError from .modules import is_function_sourced_from_module, load_module_all @@ -17,6 +17,7 @@ "InvalidConfigError", "NumtrackerClient", "connect_devices", + "report_successful_devices", "is_sgid_set", "get_owner_gid", "is_function_sourced_from_module", diff --git a/src/blueapi/utils/connect_devices.py b/src/blueapi/utils/connect_devices.py index 0f68cce91..d9d2172cc 100644 --- a/src/blueapi/utils/connect_devices.py +++ b/src/blueapi/utils/connect_devices.py @@ -15,7 +15,7 @@ LOGGER = logging.getLogger(__name__) -def _report_successful_devices( +def report_successful_devices( devices: Mapping[str, AnyDevice], sim_backend: bool, ) -> None: @@ -86,7 +86,7 @@ def is_simulated_device(name, factory, **kwargs): real_devices, exceptions = _establish_device_connections( run_engine, real_devices, False ) - _report_successful_devices(real_devices, False) + report_successful_devices(real_devices, False) exception_map |= exceptions if len(sim_devices) > 0: sim_devices, exceptions = _establish_device_connections( @@ -94,6 +94,6 @@ def is_simulated_device(name, factory, **kwargs): sim_devices, # type: ignore True, ) - _report_successful_devices(sim_devices, True) + report_successful_devices(sim_devices, True) exception_map |= exceptions return exception_map