lib/oeqa/runtime: systemd failure case improvements
authorRoss Burton <ross.burton@intel.com>
Thu, 12 Dec 2013 10:06:09 +0000 (10:06 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 14 Dec 2013 09:11:19 +0000 (09:11 +0000)
If the hostnamed service can't be started or stopped, show the output from
systemctl status to assist debugging.

(From OE-Core rev: 024cc1cee3a9954272ecbbff1ba7153725c56dce)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oeqa/runtime/systemd.py

index 17cc19f..31007df 100644 (file)
@@ -34,14 +34,18 @@ class SystemdTests(oeRuntimeTest):
     def test_systemd_stop(self):
         self.target.run('systemctl stop systemd-hostnamed.service')
         (status, output) = self.target.run('systemctl show systemd-hostnamed.service | grep "ActiveState" | grep "=inactive"')
-        self.assertEqual(status, 0, msg="systemd-hostnamed.service service could not be stopped.Status and output: %s and %s" % (status, output))
+        if status != 0:
+            (status, output) = self.target.run('systemctl status -l systemd-hostnamed.service')
+            self.fail(msg="systemd-hostnamed.service service could not be stopped. Status:\n" + output)
 
     @skipUnlessPassed('test_systemd_stop')
     @skipUnlessPassed('test_systemd_version')
     def test_systemd_start(self):
         self.target.run('systemctl start systemd-hostnamed.service')
-        (status, output) = self.target.run('systemctl show systemd-hostnamed.service | grep "ActiveState" | grep "=active"')
-        self.assertEqual(status, 0, msg="systemd-hostnamed.service service could not be started. Status and output: %s and %s" % (status, output))
+        (status, output) = self.target.run('systemctl is-active systemd-hostnamed.service')
+        if status != 0:
+            (status, output) = self.target.run('systemctl status -l systemd-hostnamed.service')
+            self.fail(msg="systemd-hostnamed.service service could not be started. Status:\n" + output)
 
     @skipUnlessPassed('test_systemd_version')
     def test_systemd_enable(self):