class BaseTestWorkerAsync(BaseTestAsync): def setUp(self): super().setUp() self.pool = QThreadPool() # .globalInstance() will crash afterward def tearDown(self): self.pool.deleteLater() super().tearDown() def _stop_async(self): super()._stop_async() self.pool.waitForDone(1) self.pool.clear() def _wait_async(self): super()._wait_async() self.pool.clear() def _make_async_fun(self, fun): return WorkerFun(fun, self.pool)