diff options
-rw-r--r-- | meta/lib/oeqa/utils/qemurunner.py | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py index 0631d43218..8296e989b1 100644 --- a/meta/lib/oeqa/utils/qemurunner.py +++ b/meta/lib/oeqa/utils/qemurunner.py | |||
@@ -194,7 +194,8 @@ class QemuRunner: | |||
194 | sys.exit(0) | 194 | sys.exit(0) |
195 | 195 | ||
196 | self.logger.debug("runqemu started, pid is %s" % self.runqemu.pid) | 196 | self.logger.debug("runqemu started, pid is %s" % self.runqemu.pid) |
197 | self.logger.debug("waiting at most %s seconds for qemu pid" % self.runqemutime) | 197 | self.logger.debug("waiting at most %s seconds for qemu pid (%s)" % |
198 | (self.runqemutime, time.strftime("%D %H:%M:%S"))) | ||
198 | endtime = time.time() + self.runqemutime | 199 | endtime = time.time() + self.runqemutime |
199 | while not self.is_alive() and time.time() < endtime: | 200 | while not self.is_alive() and time.time() < endtime: |
200 | if self.runqemu.poll(): | 201 | if self.runqemu.poll(): |
@@ -208,7 +209,8 @@ class QemuRunner: | |||
208 | time.sleep(0.5) | 209 | time.sleep(0.5) |
209 | 210 | ||
210 | if not self.is_alive(): | 211 | if not self.is_alive(): |
211 | self.logger.error("Qemu pid didn't appear in %s seconds" % self.runqemutime) | 212 | self.logger.error("Qemu pid didn't appear in %s seconds (%s)" % |
213 | (self.runqemutime, time.strftime("%D %H:%M:%S"))) | ||
212 | # Dump all processes to help us to figure out what is going on... | 214 | # Dump all processes to help us to figure out what is going on... |
213 | ps = subprocess.Popen(['ps', 'axww', '-o', 'pid,ppid,command '], stdout=subprocess.PIPE).communicate()[0] | 215 | ps = subprocess.Popen(['ps', 'axww', '-o', 'pid,ppid,command '], stdout=subprocess.PIPE).communicate()[0] |
214 | processes = ps.decode("utf-8") | 216 | processes = ps.decode("utf-8") |
@@ -225,7 +227,9 @@ class QemuRunner: | |||
225 | # We are alive: qemu is running | 227 | # We are alive: qemu is running |
226 | out = self.getOutput(output) | 228 | out = self.getOutput(output) |
227 | netconf = False # network configuration is not required by default | 229 | netconf = False # network configuration is not required by default |
228 | self.logger.debug("qemu started in %s seconds - qemu procces pid is %s" % (time.time() - (endtime - self.runqemutime), self.qemupid)) | 230 | self.logger.debug("qemu started in %s seconds - qemu procces pid is %s (%s)" % |
231 | (time.time() - (endtime - self.runqemutime), | ||
232 | self.qemupid, time.strftime("%D %H:%M:%S"))) | ||
229 | if get_ip: | 233 | if get_ip: |
230 | cmdline = '' | 234 | cmdline = '' |
231 | with open('/proc/%s/cmdline' % self.qemupid) as p: | 235 | with open('/proc/%s/cmdline' % self.qemupid) as p: |
@@ -269,7 +273,8 @@ class QemuRunner: | |||
269 | return False | 273 | return False |
270 | 274 | ||
271 | self.logger.debug("Output from runqemu:\n%s", out) | 275 | self.logger.debug("Output from runqemu:\n%s", out) |
272 | self.logger.debug("Waiting at most %d seconds for login banner" % self.boottime) | 276 | self.logger.debug("Waiting at most %d seconds for login banner (%s)" % |
277 | (self.boottime, time.strftime("%D %H:%M:%S"))) | ||
273 | endtime = time.time() + self.boottime | 278 | endtime = time.time() + self.boottime |
274 | socklist = [self.server_socket] | 279 | socklist = [self.server_socket] |
275 | reachedlogin = False | 280 | reachedlogin = False |
@@ -298,7 +303,9 @@ class QemuRunner: | |||
298 | self.server_socket = qemusock | 303 | self.server_socket = qemusock |
299 | stopread = True | 304 | stopread = True |
300 | reachedlogin = True | 305 | reachedlogin = True |
301 | self.logger.debug("Reached login banner") | 306 | self.logger.debug("Reached login banner in %s seconds (%s)" % |
307 | (time.time() - (endtime - self.boottime), | ||
308 | time.strftime("%D %H:%M:%S"))) | ||
302 | else: | 309 | else: |
303 | socklist.remove(sock) | 310 | socklist.remove(sock) |
304 | sock.close() | 311 | sock.close() |
@@ -306,7 +313,8 @@ class QemuRunner: | |||
306 | 313 | ||
307 | 314 | ||
308 | if not reachedlogin: | 315 | if not reachedlogin: |
309 | self.logger.debug("Target didn't reached login boot in %d seconds" % self.boottime) | 316 | self.logger.debug("Target didn't reached login boot in %d seconds (%s)" % |
317 | (self.boottime, time.strftime("%D %H:%M:%S"))) | ||
310 | tail = lambda l: "\n".join(l.splitlines()[-25:]) | 318 | tail = lambda l: "\n".join(l.splitlines()[-25:]) |
311 | # in case bootlog is empty, use tail qemu log store at self.msg | 319 | # in case bootlog is empty, use tail qemu log store at self.msg |
312 | lines = tail(bootlog if bootlog else self.msg) | 320 | lines = tail(bootlog if bootlog else self.msg) |