[gnome-bluetooth/wip/hadess/more-tests: 2/4] tests: Use wait_for_condition() instead of static timeouts




commit 7a502a217586bb254b0b34545d0510104c9bc6db
Author: Bastien Nocera <hadess hadess net>
Date:   Tue Feb 16 17:31:58 2021 +0100

    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.

 tests/integration-test | 20 +++++++++++++++++---
 1 file 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)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]