diff options
author | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2021-11-25 22:41:06 +0100 |
---|---|---|
committer | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2021-11-26 14:22:05 +0100 |
commit | 24022bc76080f1881755df839b41a1003a1ed125 (patch) | |
tree | f103dc7f683929b38673a6655a88771753285788 | |
parent | 7e11ddc930f51dcfee031b92fb944bd1d4511d81 (diff) |
Stabilize tst_QAccessibilityMac
Introduce a TRY_EXPECT macro that uses qWaitFor, and use it whenever
EXPECT was used after a call to processEvents.
Fixes: QTBUG-94036
Pick-to: 6.2 5.15
Change-Id: Ia935444d529c2798637bf9b4a56e47a8dc9d75d2
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
-rw-r--r-- | tests/auto/other/qaccessibilitymac/tst_qaccessibilitymac_helpers.mm | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/tests/auto/other/qaccessibilitymac/tst_qaccessibilitymac_helpers.mm b/tests/auto/other/qaccessibilitymac/tst_qaccessibilitymac_helpers.mm index b7c3c2643b..7e89b3a166 100644 --- a/tests/auto/other/qaccessibilitymac/tst_qaccessibilitymac_helpers.mm +++ b/tests/auto/other/qaccessibilitymac/tst_qaccessibilitymac_helpers.mm @@ -86,6 +86,7 @@ QDebug operator<<(QDebug dbg, AXErrorTag err) return false; \ } \ +#define TRY_EXPECT(cond) EXPECT(QTest::qWaitFor([&]{ return (cond); })) @interface TestAXObject : NSObject { @@ -546,21 +547,17 @@ bool notifications(QWidget *w) EXPECT(notificationList.length() == 0); le2->setFocus(); - QCoreApplication::processEvents(); - EXPECT(notificationList.length() == 1); - EXPECT(notificationList.at(0) == QAccessible::Focus); + TRY_EXPECT(notificationList.length() == 1); + TRY_EXPECT(notificationList.at(0) == QAccessible::Focus); le1->setFocus(); - QCoreApplication::processEvents(); - EXPECT(notificationList.length() == 2); - EXPECT(notificationList.at(1) == QAccessible::Focus); + TRY_EXPECT(notificationList.length() == 2); + TRY_EXPECT(notificationList.at(1) == QAccessible::Focus); le1->setText("hello"); - QCoreApplication::processEvents(); - EXPECT(notificationList.length() == 3); - EXPECT(notificationList.at(2) == QAccessible::ValueChanged); + TRY_EXPECT(notificationList.length() == 3); + TRY_EXPECT(notificationList.at(2) == QAccessible::ValueChanged); le1->setText("foo"); - QCoreApplication::processEvents(); - EXPECT(notificationList.length() == 4); - EXPECT(notificationList.at(3) == QAccessible::ValueChanged); + TRY_EXPECT(notificationList.length() == 4); + TRY_EXPECT(notificationList.at(3) == QAccessible::ValueChanged); return true; } |