1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-05-01 22:49:04 +00:00

feat(python): give the emulator a little more time to respond to ping

This commit is contained in:
matejcik 2021-03-23 11:56:45 +01:00 committed by matejcik
parent 7ca67cc4d9
commit ae0da5e245
2 changed files with 8 additions and 9 deletions

View File

@ -0,0 +1 @@
Wait up to 1 second for emulator responses.

View File

@ -24,6 +24,7 @@ from . import TransportException
from .protocol import ProtocolBasedTransport, ProtocolV1 from .protocol import ProtocolBasedTransport, ProtocolV1
SOCKET_TIMEOUT = 10 SOCKET_TIMEOUT = 10
TRY_PATH_TIMEOUT = 1
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
@ -59,15 +60,12 @@ class UdpTransport(ProtocolBasedTransport):
def _try_path(cls, path: str) -> "UdpTransport": def _try_path(cls, path: str) -> "UdpTransport":
d = cls(path) d = cls(path)
try: try:
d.open() d.wait_until_ready(timeout=TRY_PATH_TIMEOUT)
if d._ping(): return d
return d except Exception as e:
else: raise TransportException(
raise TransportException( "No Trezor device found at address {}".format(d.get_path())
"No Trezor device found at address {}".format(d.get_path()) ) from e
)
finally:
d.close()
@classmethod @classmethod
def enumerate(cls) -> Iterable["UdpTransport"]: def enumerate(cls) -> Iterable["UdpTransport"]: