Browse Source

qubes/tests: do not deadlock on .drain()

Wojtek Porczyk 6 years ago
parent
commit
b78ad1993c
1 changed files with 5 additions and 1 deletions
  1. 5 1
      qubes/tests/__init__.py

+ 5 - 1
qubes/tests/__init__.py

@@ -410,7 +410,11 @@ class QubesTestCase(unittest.TestCase):
 
         # Check for unfinished libvirt business.
         if libvirt_event_impl is not None:
-            self.loop.run_until_complete(libvirt_event_impl.drain())
+            try:
+                self.loop.run_until_complete(asyncio.wait_for(
+                    libvirt_event_impl.drain(), timeout=4))
+            except asyncio.TimeoutError:
+                raise AssertionError('libvirt event impl drain timeout')
 
         # Check there are no Tasks left.
         assert not self.loop._ready