From 46cb3f0d2f87c4e247d5b566e19e5ff340813961 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Thu, 23 Jul 2015 22:59:48 +0100 Subject: oeqa/selftest/imagefeatures: handle killpg victim not existing If Pexpect throws an exception it may be because the child has already died, in which case killpg will fail. Catch the latter exception silently, and output the exception from Pexpect. (From OE-Core rev: 4d777ce9736e91bb560558b691b8025acf784046) Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/lib/oeqa/selftest/imagefeatures.py | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) (limited to 'meta/lib/oeqa/selftest/imagefeatures.py') diff --git a/meta/lib/oeqa/selftest/imagefeatures.py b/meta/lib/oeqa/selftest/imagefeatures.py index 70ebbe4321..82ea164de1 100644 --- a/meta/lib/oeqa/selftest/imagefeatures.py +++ b/meta/lib/oeqa/selftest/imagefeatures.py @@ -43,9 +43,12 @@ class ImageFeatures(oeSelfTest): proc_qemu.expect(self.get_ip_patt, timeout=100) qemu_ip = proc_qemu.match.group('qemu_ip') proc_qemu.expect('qemux86 login:', timeout=100) - except: - killpg(proc_qemu.pid, signal.SIGTERM) - self.fail('Failed to start qemu.') + except Exception as e: + try: + killpg(proc_qemu.pid, signal.SIGTERM) + except: + pass + self.fail('Failed to start qemu: %s' % e) # Attempt to ssh with each user into qemu with empty password for user in [self.root_user, self.test_user]: @@ -93,9 +96,12 @@ class ImageFeatures(oeSelfTest): proc_qemu.expect(self.get_ip_patt, timeout=100) qemu_ip = proc_qemu.match.group('qemu_ip') proc_qemu.expect('qemux86 login:', timeout=100) - except: - killpg(proc_qemu.pid, signal.SIGTERM) - self.fail('Failed to start qemu.') + except Exception as e: + try: + killpg(proc_qemu.pid, signal.SIGTERM) + except: + pass + self.fail('Failed to start qemu: %s' % e) # Attempt to ssh with each user into qemu with empty password for user in [self.root_user, self.test_user]: @@ -147,9 +153,12 @@ class ImageFeatures(oeSelfTest): proc_qemu.expect(self.prompt) proc_qemu.sendline('rpm --version') proc_qemu.expect(self.prompt) - except: - killpg(proc_qemu.pid, signal.SIGTERM) - self.fail('Failed to boot qemu.') + except Exception as e: + try: + killpg(proc_qemu.pid, signal.SIGTERM) + except: + pass + self.fail('Failed to start qemu: %s' % e) found_rpm_version = proc_qemu.before -- cgit v1.2.3-54-g00ecf