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) |
