tests: Fix sigma_dut_cmd() processing for the return value
The first sock.recv() may return both the status,RUNNING and the following status line if the sigma_dut process ends up being faster in writing the result than the test script is in reading the result. This resulted in unexpected behavior and odd error messages when parsing the result in the test cases. Fix this by dropping the status,RUNNING line from the result in case the buffer includes multiple lines. Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
f6a53f64af
commit
7c8fcd6baf
1 changed files with 5 additions and 5 deletions
|
@ -73,12 +73,12 @@ def sigma_dut_cmd(cmd, port=9000, timeout=2):
|
||||||
for line in res.splitlines():
|
for line in res.splitlines():
|
||||||
if line.startswith("status,RUNNING"):
|
if line.startswith("status,RUNNING"):
|
||||||
running = True
|
running = True
|
||||||
elif line.startswith("status,INVALID"):
|
elif line.startswith("status,INVALID") or \
|
||||||
done = True
|
line.startswith("status,ERROR") or \
|
||||||
elif line.startswith("status,ERROR"):
|
line.startswith("status,COMPLETE"):
|
||||||
done = True
|
|
||||||
elif line.startswith("status,COMPLETE"):
|
|
||||||
done = True
|
done = True
|
||||||
|
res = line
|
||||||
|
break
|
||||||
if running and not done:
|
if running and not done:
|
||||||
# Read the actual response
|
# Read the actual response
|
||||||
res = sock.recv(1000).decode()
|
res = sock.recv(1000).decode()
|
||||||
|
|
Loading…
Reference in a new issue