oeqa/target/ssh: Ensure EAGAIN doesn't truncate output

We have a suspicion that the read() call may return EAGAIN on the non-blocking
fd and this may truncate test output leading to some of our intermittent failures.
Tweak the code to avoid this potential issue.

(From OE-Core rev: 605d832e86f249100adaf3761b4e1701401d0b76)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a8920c105725431e989cceb616bd04eaa52127ec)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
Richard Purdie 2023-07-27 15:17:32 +01:00 committed by Steve Sakoman
parent 0cbec779f5
commit 02356ecdca

View File

@ -226,6 +226,9 @@ def SSHCall(command, logger, timeout=None, **opts):
endtime = time.time() + timeout
except InterruptedError:
continue
except BlockingIOError:
logger.debug('BlockingIOError')
continue
# process hasn't returned yet
if not eof: