summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2021-02-16 17:31:58 +0100
committerBastien Nocera <hadess@hadess.net>2021-02-16 17:31:58 +0100
commit7a502a217586bb254b0b34545d0510104c9bc6db (patch)
treeb5f4cec409dbe7f1b6e7599bdec6bc89ef3d3f90
parent29b11f6589820e97745fe8b874372bd4c11164ba (diff)
downloadgnome-bluetooth-7a502a217586bb254b0b34545d0510104c9bc6db.tar.gz
tests: Use wait_for_condition() instead of static timeouts
Reduces runtime to fractions of a second on fast systems, rather than 4 to 5 seconds just handling 1-second timeouts.
-rwxr-xr-xtests/integration-test20
1 files changed, 17 insertions, 3 deletions
diff --git a/tests/integration-test b/tests/integration-test
index 1589723e..d0eaa188 100755
--- a/tests/integration-test
+++ b/tests/integration-test
@@ -83,7 +83,14 @@ class OopTests(dbusmock.DBusTestCase):
def test_one_adapter(self):
adapters = self.client.get_adapter_model()
- self.wait_for_mainloop()
+ self._row_inserted = False
+
+ def adapters_row_inserted_cb(model, path, _iter):
+ self._row_inserted = True
+ adapters.connect('row-inserted', adapters_row_inserted_cb)
+
+ self.wait_for_condition(lambda: self._row_inserted == True)
+
self.assertEqual(len(adapters), 1)
def _pair_cb(self, client, result, user_data=None):
@@ -95,7 +102,14 @@ class OopTests(dbusmock.DBusTestCase):
def test_pairing(self):
adapters = self.client.get_adapter_model()
- self.wait_for_mainloop()
+ self._row_inserted = False
+
+ def adapters_row_inserted_cb(model, path, _iter):
+ self._row_inserted = True
+ adapters.connect('row-inserted', adapters_row_inserted_cb)
+
+ self.wait_for_condition(lambda: self._row_inserted == True)
+
self.assertEqual(len(adapters), 1)
devices = self.client.get_device_model()
@@ -112,7 +126,7 @@ class OopTests(dbusmock.DBusTestCase):
True,
None,
self._pair_cb)
- self.wait_for_mainloop()
+ self.wait_for_condition(lambda: self.paired == True)
self.assertEqual(self.paired, True)
treeiter = devices.get_iter(path)