diff options
author | Bastien Nocera <hadess@hadess.net> | 2021-02-16 17:31:58 +0100 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2021-02-16 17:31:58 +0100 |
commit | 7a502a217586bb254b0b34545d0510104c9bc6db (patch) | |
tree | b5f4cec409dbe7f1b6e7599bdec6bc89ef3d3f90 | |
parent | 29b11f6589820e97745fe8b874372bd4c11164ba (diff) | |
download | gnome-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-x | tests/integration-test | 20 |
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) |