aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2021-11-10 15:56:43 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2021-11-10 19:58:16 +0100
commit5b9320df2284b96dba4d5eec1857a797797187e6 (patch)
treecc31101204f0cd6935cf6ddb784e007111785ada
parent45a0645901a839a1472588a3cbda4fd290cc556a (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 Pick-to: 6.2 Change-Id: I3fa26f063a83fd1afeee557e8b6d3d250ec46ec6 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
-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), "")