]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
oeqa/selftest/imagefeatures: handle killpg victim not existing
authorRoss Burton <ross.burton@intel.com>
Thu, 23 Jul 2015 21:59:48 +0000 (22:59 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 24 Jul 2015 22:29:40 +0000 (23:29 +0100)
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@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oeqa/selftest/imagefeatures.py

index 70ebbe432121308256f1127c280000896a216c62..82ea164de10b2ae00d98f5f8e2bd2885bd16cc06 100644 (file)
@@ -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