mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-28 00:17:30 -05:00
Fix flaky VirtualLayerTask test
This commit is contained in:
parent
feb20a7a27
commit
9e351e80fc
@ -35,9 +35,12 @@ class TestQgsVirtualLayerTask(unittest.TestCase):
|
|||||||
self.testDataDir = unitTestDataPath()
|
self.testDataDir = unitTestDataPath()
|
||||||
self.success = False
|
self.success = False
|
||||||
self.fail = False
|
self.fail = False
|
||||||
|
self.ids = None
|
||||||
|
self.task = None
|
||||||
|
|
||||||
def onSuccess(self):
|
def onSuccess(self):
|
||||||
self.success = True
|
self.success = True
|
||||||
|
self.ids = [f.id() for f in self.task.layer().getFeatures()]
|
||||||
|
|
||||||
def onFail(self):
|
def onFail(self):
|
||||||
self.fail = True
|
self.fail = True
|
||||||
@ -49,23 +52,22 @@ class TestQgsVirtualLayerTask(unittest.TestCase):
|
|||||||
|
|
||||||
df = QgsVirtualLayerDefinition()
|
df = QgsVirtualLayerDefinition()
|
||||||
df.setQuery('select * from "françéà"')
|
df.setQuery('select * from "françéà"')
|
||||||
task = QgsVirtualLayerTask(df)
|
self.task = QgsVirtualLayerTask(df)
|
||||||
|
|
||||||
ids = [f.id() for f in task.layer().getFeatures()]
|
ids = [f.id() for f in self.task.layer().getFeatures()]
|
||||||
self.assertEqual(len(ids), 0)
|
self.assertEqual(len(ids), 0)
|
||||||
|
|
||||||
task.taskCompleted.connect(self.onSuccess)
|
self.task.taskCompleted.connect(self.onSuccess)
|
||||||
task.taskTerminated.connect(self.onFail)
|
self.task.taskTerminated.connect(self.onFail)
|
||||||
|
|
||||||
QgsApplication.taskManager().addTask(task)
|
QgsApplication.taskManager().addTask(self.task)
|
||||||
while not self.success and not self.fail:
|
while not self.success and not self.fail:
|
||||||
QCoreApplication.processEvents()
|
QCoreApplication.processEvents()
|
||||||
|
|
||||||
self.assertTrue(self.success)
|
self.assertTrue(self.success)
|
||||||
self.assertFalse(self.fail)
|
self.assertFalse(self.fail)
|
||||||
|
|
||||||
ids = [f.id() for f in task.layer().getFeatures()]
|
self.assertEqual(len(self.ids), 4)
|
||||||
self.assertEqual(len(ids), 4)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
Loading…
x
Reference in New Issue
Block a user