aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2021-12-01 13:10:48 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2021-12-06 10:39:44 +0100
commit67bd3066173678e0ec596387872d3e9457efa107 (patch)
treee6a045d679cadefba535a39c5fd8392866e80bfc
parenta37b5e7fb9aa017524627c9dc287b62f28136aa7 (diff)
Speed up paint_event_test.py, qpen_test.py and virtual_pure_override_test
Start a timer to close the window as soon as paintEvent() is called instead of waiting. Pick-to: 6.2 Change-Id: Id7a0e1123e148bdc8ba142ccbe0ff9d7a02c77dd Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
-rw-r--r--sources/pyside6/tests/QtWidgets/paint_event_test.py28
-rw-r--r--sources/pyside6/tests/QtWidgets/qpen_test.py3
-rw-r--r--sources/pyside6/tests/QtWidgets/virtual_pure_override_test.py4
3 files changed, 11 insertions, 24 deletions
diff --git a/sources/pyside6/tests/QtWidgets/paint_event_test.py b/sources/pyside6/tests/QtWidgets/paint_event_test.py
index 96f38f3f2..fa2b8dcb2 100644
--- a/sources/pyside6/tests/QtWidgets/paint_event_test.py
+++ b/sources/pyside6/tests/QtWidgets/paint_event_test.py
@@ -40,7 +40,7 @@ sys.path.append(os.fspath(Path(__file__).resolve().parents[1]))
from init_paths import init_test_paths
init_test_paths(False)
-from PySide6.QtCore import QTimerEvent
+from PySide6.QtCore import QTimer
from PySide6.QtWidgets import QApplication, QWidget
from helper.usesqapplication import UsesQApplication
@@ -49,33 +49,19 @@ from helper.usesqapplication import UsesQApplication
class MyWidget(QWidget):
'''Sample widget'''
- def __init__(self, app=None):
+ def __init__(self, app):
# Creates a new widget
- if app is None:
- app = QApplication([])
+ assert(app)
super().__init__()
self.app = app
- self.runs = 0
- self.max_runs = 5
self.paint_event_called = False
- def timerEvent(self, event):
- # Timer event method
- self.runs += 1
-
- if self.runs == self.max_runs:
- self.app.quit()
-
- if not isinstance(event, QTimerEvent):
- raise TypeError('Invalid event type. Must be QTimerEvent')
-
def paintEvent(self, event):
# Empty paint event method
- # XXX: should be using super here, but somehow PyQt4
- # complains about paintEvent not present in super
- QWidget.paintEvent(self, event)
+ super().paintEvent(event)
self.paint_event_called = True
+ QTimer.singleShot(20, self.close)
class PaintEventOverride(UsesQApplication):
@@ -97,12 +83,10 @@ class PaintEventOverride(UsesQApplication):
def testPaintEvent(self):
# Test QWidget.paintEvent override
- timer_id = self.widget.startTimer(100)
self.widget.show()
+ self.widget.setWindowTitle("paint_event_test")
self.app.exec()
- self.widget.killTimer(timer_id)
self.assertTrue(self.widget.paint_event_called)
- self.assertEqual(self.widget.runs, 5)
if __name__ == '__main__':
diff --git a/sources/pyside6/tests/QtWidgets/qpen_test.py b/sources/pyside6/tests/QtWidgets/qpen_test.py
index c06102e1c..f1fe0fc5f 100644
--- a/sources/pyside6/tests/QtWidgets/qpen_test.py
+++ b/sources/pyside6/tests/QtWidgets/qpen_test.py
@@ -54,6 +54,7 @@ class Painting(QWidget):
self.penFromEnum = painter.pen()
painter.setPen(int(Qt.NoPen))
self.penFromInteger = painter.pen()
+ QTimer.singleShot(20, self.close)
class QPenTest(UsesQApplication):
@@ -70,7 +71,7 @@ class QPenTest(UsesQApplication):
'''Calls QPainter.setPen with both enum and integer. Bug #511.'''
w = Painting()
w.show()
- QTimer.singleShot(1000, self.app.quit)
+ w.setWindowTitle("qpen_test")
self.app.exec()
self.assertEqual(w.penFromEnum.style(), Qt.NoPen)
self.assertEqual(w.penFromInteger.style(), Qt.SolidLine)
diff --git a/sources/pyside6/tests/QtWidgets/virtual_pure_override_test.py b/sources/pyside6/tests/QtWidgets/virtual_pure_override_test.py
index 68d366c36..2807e353f 100644
--- a/sources/pyside6/tests/QtWidgets/virtual_pure_override_test.py
+++ b/sources/pyside6/tests/QtWidgets/virtual_pure_override_test.py
@@ -53,6 +53,8 @@ class RoundRectItem(QGraphicsRectItem):
def paint(self, painter, qstyleoptiongraphicsitem, qwidget):
global qgraphics_item_painted
qgraphics_item_painted = True
+ view = self.scene().views()[0]
+ QTimer.singleShot(20, view.close)
class QGraphicsItemTest(UsesQApplication):
@@ -72,10 +74,10 @@ class QGraphicsItemTest(UsesQApplication):
scene = QGraphicsScene()
scene.addText("test")
view = QGraphicsView(scene)
+ view.setWindowTitle("virtual_pure_override_test")
rect = self.createRoundRect(scene)
view.show()
- QTimer.singleShot(1000, self.quit_app)
self.app.exec()
self.assertTrue(qgraphics_item_painted)