summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/utils/qemurunner.py
diff options
context:
space:
mode:
authorStefan Stanacar <stefanx.stanacar@intel.com>2013-07-10 14:33:32 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-07-16 10:04:15 +0100
commit9c4a02b6c6dd9c450791bde3e9acb61b85244fe1 (patch)
tree347e4172e77b3c525868cf373f5567ae43f1ee05 /meta/lib/oeqa/utils/qemurunner.py
parent1552f33a3e3daca1730e9fc781e51caf05e1c692 (diff)
downloadpoky-9c4a02b6c6dd9c450791bde3e9acb61b85244fe1.tar.gz
testimage.bbclass, lib/oeqa/utils/qemurunner.py: make boot timeout configurable and increase it
On a loaded host (such as an AB setup where multiple builds run) the 200 seconds timeout might not be enough to reach the login prompt. Also make it configurable so we can set it from local.conf/auto.conf (From OE-Core rev: e828571683333e6f18ed56a84e114b5e54975bc7) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oeqa/utils/qemurunner.py')
-rw-r--r--meta/lib/oeqa/utils/qemurunner.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
index 3132b6871b..ec9298863a 100644
--- a/meta/lib/oeqa/utils/qemurunner.py
+++ b/meta/lib/oeqa/utils/qemurunner.py
@@ -10,7 +10,7 @@ from oeqa.utils.oeqemuconsole import oeQemuConsole
10 10
11class QemuRunner: 11class QemuRunner:
12 12
13 def __init__(self, machine, rootfs, display = None, tmpdir = None, logfile = None): 13 def __init__(self, machine, rootfs, display = None, tmpdir = None, logfile = None, boottime = 400):
14 # Popen object 14 # Popen object
15 self.runqemu = None 15 self.runqemu = None
16 16
@@ -25,6 +25,7 @@ class QemuRunner:
25 self.display = display 25 self.display = display
26 self.tmpdir = tmpdir 26 self.tmpdir = tmpdir
27 self.logfile = logfile 27 self.logfile = logfile
28 self.boottime = boottime
28 29
29 def launch(self, qemuparams = None): 30 def launch(self, qemuparams = None):
30 31
@@ -49,7 +50,6 @@ class QemuRunner:
49 self.runqemu = subprocess.Popen(launch_cmd,shell=True,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,preexec_fn=os.setpgrp) 50 self.runqemu = subprocess.Popen(launch_cmd,shell=True,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,preexec_fn=os.setpgrp)
50 51
51 bb.note("runqemu started, pid is %s" % self.runqemu.pid) 52 bb.note("runqemu started, pid is %s" % self.runqemu.pid)
52 # wait at most 30 seconds until qemu pid appears
53 bb.note("waiting at most 60 seconds for qemu pid") 53 bb.note("waiting at most 60 seconds for qemu pid")
54 endtime = time.time() + 60 54 endtime = time.time() + 60
55 while not self.is_alive() and time.time() < endtime: 55 while not self.is_alive() and time.time() < endtime:
@@ -59,8 +59,8 @@ class QemuRunner:
59 bb.note("qemu started - qemu procces pid is %s" % self.qemupid) 59 bb.note("qemu started - qemu procces pid is %s" % self.qemupid)
60 60
61 console = oeQemuConsole(self.streampath, self.logfile) 61 console = oeQemuConsole(self.streampath, self.logfile)
62 bb.note("Waiting at most 200 seconds for login banner") 62 bb.note("Waiting at most %d seconds for login banner" % self.boottime )
63 (match, text) = console.read_all_timeout("login:", 200) 63 (match, text) = console.read_all_timeout("login:", self.boottime)
64 64
65 if match: 65 if match:
66 bb.note("Reached login banner") 66 bb.note("Reached login banner")
@@ -80,7 +80,7 @@ class QemuRunner:
80 return False 80 return False
81 else: 81 else:
82 console.close() 82 console.close()
83 bb.note("Target didn't reached login boot in 120 seconds") 83 bb.note("Target didn't reached login boot in %d seconds" % self.boottime)
84 lines = "\n".join(text.splitlines()[-5:]) 84 lines = "\n".join(text.splitlines()[-5:])
85 bb.note("Last 5 lines of text:\n%s" % lines) 85 bb.note("Last 5 lines of text:\n%s" % lines)
86 bb.note("Check full boot log: %s" % self.logfile) 86 bb.note("Check full boot log: %s" % self.logfile)