aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2021-11-10 15:56:43 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-11-10 21:43:46 +0000
commit134f72292e0aca8f8d958c1c7f18808105ff97ec (patch)
tree03a8dc10344392e8a6199cd645f5d291de100fc1
parent125a3580da81c9f5119c729e804ecdeb90a63faa (diff)
Fix hang of test qinputdialog_get_test.py
After qtbase/851ed6f0b1014e5acabdc1f977979841d16ecc31, calling QCoreApplication::quit() no longer terminates QDialog::exec() when not in QCoreApplication::exec(). This means, TimedQApplication can no longer be used to terminate the test. Add a timer that closes dialogs instead. Task-number: QTBUG-98088 Task-number: QTBUG-98239 Change-Id: I3fa26f063a83fd1afeee557e8b6d3d250ec46ec6 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 5b9320df2284b96dba4d5eec1857a797797187e6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--sources/pyside6/tests/QtWidgets/qinputdialog_get_test.py17
1 files changed, 14 insertions, 3 deletions
diff --git a/sources/pyside6/tests/QtWidgets/qinputdialog_get_test.py b/sources/pyside6/tests/QtWidgets/qinputdialog_get_test.py
index c558e291b..375aa9a18 100644
--- a/sources/pyside6/tests/QtWidgets/qinputdialog_get_test.py
+++ b/sources/pyside6/tests/QtWidgets/qinputdialog_get_test.py
@@ -35,23 +35,34 @@ sys.path.append(os.fspath(Path(__file__).resolve().parents[1]))
from init_paths import init_test_paths
init_test_paths(False)
-from PySide6.QtWidgets import QInputDialog
-from helper.timedqapplication import TimedQApplication
+from PySide6.QtCore import QTimer
+from PySide6.QtWidgets import QApplication, QInputDialog, QDialog
+from helper.usesqapplication import UsesQApplication
-class TestInputDialog(TimedQApplication):
+def close_dialog():
+ for w in QApplication.topLevelWidgets():
+ if isinstance(w, QDialog):
+ w.reject()
+
+
+class TestInputDialog(UsesQApplication):
def testGetDouble(self):
+ QTimer.singleShot(500, close_dialog)
self.assertEqual(QInputDialog.getDouble(None, "title", "label"), (0.0, False))
def testGetInt(self):
+ QTimer.singleShot(500, close_dialog)
self.assertEqual(QInputDialog.getInt(None, "title", "label"), (0, False))
def testGetItem(self):
+ QTimer.singleShot(500, close_dialog)
(item, bool) = QInputDialog.getItem(None, "title", "label", ["1", "2", "3"])
self.assertEqual(str(item), "1")
def testGetText(self):
+ QTimer.singleShot(500, close_dialog)
(text, bool) = QInputDialog.getText(None, "title", "label")
self.assertEqual(str(text), "")