[OE-core] [PATCH] oeqa/connman: disable unique test

Ross Burton ross.burton at intel.com
Thu Nov 21 14:57:46 UTC 2013

The connman unique test starts another instance of connmand and then does a ps to
verify that there's only one of these running, on the assumption that the new
one has quit because there's already one running (started by init).

However, connmand is forking into the background straight away so there's a race
between running ps and the second connmand discovering the first and exiting.
This race can be seen because the test displays the output of ps, and by the
time that second ps has been executed the new connmand has exited.

This is a classic race condition and on a heavily loaded autobuilder inserting
an arbitrary sleep isn't wise.  In the scheme of things this test isn't very
useful, so delete it.

Signed-off-by: Ross Burton <ross.burton at intel.com>
 meta/lib/oeqa/runtime/connman.py |    8 --------
 1 file changed, 8 deletions(-)

diff --git a/meta/lib/oeqa/runtime/connman.py b/meta/lib/oeqa/runtime/connman.py
index 5ef96f6..b592ecc 100644
--- a/meta/lib/oeqa/runtime/connman.py
+++ b/meta/lib/oeqa/runtime/connman.py
@@ -19,11 +19,3 @@ class ConnmanTest(oeRuntimeTest):
     def test_connmand_running(self):
         (status, output) = self.target.run(oeRuntimeTest.pscmd + ' | grep [c]onnmand')
         self.assertEqual(status, 0, msg="no connmand process, ps output: %s" % self.target.run(oeRuntimeTest.pscmd)[1])
-    @skipUnlessPassed('test_connmand_running')
-    def test_connmand_unique(self):
-        self.target.run('/usr/sbin/connmand')
-        output = self.target.run(oeRuntimeTest.pscmd + ' | grep -c [c]onnmand')[1]
-        self.assertEqual(output, "1", msg="more than one connmand running in background, ps output: %s\n%s" % (output, self.target.run(oeRuntimeTest.pscmd)[1]))

More information about the Openembedded-core mailing list