dts: ConfigurationError not thrown due to lack of next default value
PATCH 1/1 dts: ConfigurationError not thrown due to lack of next default value
In DTS, when providing an nonexisting PCI address, a ConfigurationError should be thrown. Instead, because the next() is not given a default None, it instead hits a StopIteration error, which is harder to debug.
Signed-off-by Riley Fletcher <[email protected]>
--- dts/framework/testbed_model/linux_session.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
dts/framework/testbed_model/linux_session.py +1 -1
@@ -168,7 +168,7 @@ def get_port_info(self, pci_address: str) -> PortInfo: ConfigurationError: If the port could not be found. """ bus_info = f"pci@{pci_address}" - port = next(port for port in self._lshw_net_info if port.get("businfo") == bus_info) + port = next((port for port in self._lshw_net_info if port.get("businfo") == bus_info), None) if port is None: raise ConfigurationError(f"Port {pci_address} could not be found on the node.")
Signature · 1 line
2.53.0
Hi Riley,
Thank you for this fix! Looks good to me, this is obviously a bug. It needs the Fixes tag referencing the original commit, so that it can be retrospectively fixed on the LTS versions. The CI would complain about this if the commit subject would be correctly phrased to something like:
dts: fix port info getter when port is not found
Luca