Patchwork oeqa/connman: disable unique test

login
register
mail settings
Submitter Ross Burton
Date Nov. 21, 2013, 2:57 p.m.
Message ID <1385045866-30934-1-git-send-email-ross.burton@intel.com>
Download mbox | patch
Permalink /patch/62155/
State Accepted
Commit afe82ef3c45362a6c9eca168b458a58db331617c
Headers show

Comments

Ross Burton - Nov. 21, 2013, 2:57 p.m.
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@intel.com>
---
 meta/lib/oeqa/runtime/connman.py |    8 --------
 1 file changed, 8 deletions(-)

Patch

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]))
-
-