Patchwork lib/oeqa: sshcontrol: fix false timeout failures

login
register
mail settings
Submitter Stanacar, StefanX
Date Jan. 17, 2014, 3:57 p.m.
Message ID <1389974267-12667-1-git-send-email-stefanx.stanacar@intel.com>
Download mbox | patch
Permalink /patch/65095/
State Accepted
Commit e9fae95f303165bb1a075cb007f2959e8e1b1c96
Headers show

Comments

Stanacar, StefanX - Jan. 17, 2014, 3:57 p.m.
Ocasionally AB shows odd false fails like:
http://autobuilder.yoctoproject.org/main/builders/nightly-arm/builds/1/steps/Running%20Sanity%20Tests/logs/stdio
This should fix that by checking for eof instead of
polling the return code of the ssh process, because the process
might still be there.

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
---
 meta/lib/oeqa/utils/sshcontrol.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Patch

diff --git a/meta/lib/oeqa/utils/sshcontrol.py b/meta/lib/oeqa/utils/sshcontrol.py
index a0dcf02..3e53ec3 100644
--- a/meta/lib/oeqa/utils/sshcontrol.py
+++ b/meta/lib/oeqa/utils/sshcontrol.py
@@ -77,7 +77,7 @@  class SSHControl(object):
                         endtime = time.time() + tdelta
 
             # process hasn't returned yet
-            if sshconn.poll() is None:
+            if not eof:
                 sshconn.terminate()
                 time.sleep(3)
                 try:
@@ -86,7 +86,7 @@  class SSHControl(object):
                     pass
                 output += "\n[!!! SSH command killed - no output for %d seconds. Total running time: %d seconds." % (tdelta, time.time() - self._starttime)
 
-        self._ret = sshconn.poll()
+        self._ret = sshconn.wait()
         # strip the last LF so we can test the output
         self._out = output.rstrip()
         self.log("%s" % self._out)