[oe-commits] Ross Burton : oeqa/selftest/imagefeatures: handle killpg victim not existing

git at git.openembedded.org git at git.openembedded.org
Fri Jul 24 22:30:13 UTC 2015


Module: openembedded-core.git
Branch: master
Commit: 4d777ce9736e91bb560558b691b8025acf784046
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=4d777ce9736e91bb560558b691b8025acf784046

Author: Ross Burton <ross.burton at intel.com>
Date:   Thu Jul 23 22:59:48 2015 +0100

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.

Signed-off-by: Ross Burton <ross.burton at intel.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/lib/oeqa/selftest/imagefeatures.py | 27 ++++++++++++++++++---------
 1 file changed, 18 insertions(+), 9 deletions(-)

diff --git a/meta/lib/oeqa/selftest/imagefeatures.py b/meta/lib/oeqa/selftest/imagefeatures.py
index 70ebbe4..82ea164 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
 



More information about the Openembedded-commits mailing list