build: when running test, wait until emulator starts properly

pull/25/head
matejcik 6 years ago
parent 9a519fb5c0
commit bdbabf5594

@ -12,6 +12,7 @@ if [ "$EMULATOR" = 1 ]; then
firmware/trezor.elf &
sleep 1
export TREZOR_PATH=udp:127.0.0.1:21324
"${PYTHON:-python}" script/wait_for_emulator.py
fi
export TREZOR_TRANSPORT_V1=1

@ -0,0 +1,31 @@
#!/usr/bin/env python3
import socket
import sys
import time
DEFAULT_ADDR = "127.0.0.1:21324"
if len(sys.argv) > 1:
addr = sys.argv[1]
else:
addr = DEFAULT_ADDR
host, port = addr.split(":")
SOCK_ADDR = (host, int(port))
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.connect(SOCK_ADDR)
sock.settimeout(0)
start = time.monotonic()
while True:
try:
sock.sendall(b"PINGPING")
r = sock.recv(8)
if r == b"PONGPONG":
break
except Exception:
time.sleep(0.05)
end = time.monotonic()
print("waited for {:.3f}s".format(end - start))
Loading…
Cancel
Save