summaryrefslogtreecommitdiffstats
path: root/src/testlib
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2022-12-16 12:16:39 +0100
committerMarc Mutz <marc.mutz@qt.io>2022-12-16 22:58:10 +0100
commit17a7e5cfddcbf33ef0fd1c2b7acc65b85159194e (patch)
treea592ba6b665db958d9e6bfd78f47295556a97918 /src/testlib
parent6b5419f43505867949016685fe40d17d81ff2646 (diff)
QTest::WatchDog: Extract Method setExpectation()
Keeps the code DRY and enables a follow-up commit to fix QTBUG-109466. Task-number: QTBUG-109466 Pick-to: 6.5 6.4 6.2 5.15 Change-Id: I2b904ea7b38286b07049524ba63c2c5028e680bb Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'src/testlib')
-rw-r--r--src/testlib/qtestcase.cpp21
1 files changed, 10 insertions, 11 deletions
diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp
index 62512dc9d3..4023ae86eb 100644
--- a/src/testlib/qtestcase.cpp
+++ b/src/testlib/qtestcase.cpp
@@ -1233,6 +1233,13 @@ class WatchDog : public QThread
Q_UNREACHABLE_RETURN(false);
}
+ void setExpectation(Expectation e)
+ {
+ const auto locker = qt_scoped_lock(mutex);
+ expecting.store(e, std::memory_order_relaxed);
+ waitCondition.notify_all();
+ }
+
public:
WatchDog()
{
@@ -1245,26 +1252,18 @@ public:
~WatchDog()
{
- {
- const auto locker = qt_scoped_lock(mutex);
- expecting.store(ThreadEnd, std::memory_order_relaxed);
- waitCondition.notify_all();
- }
+ setExpectation(ThreadEnd);
wait();
}
void beginTest()
{
- const auto locker = qt_scoped_lock(mutex);
- expecting.store(TestFunctionEnd, std::memory_order_relaxed);
- waitCondition.notify_all();
+ setExpectation(TestFunctionEnd);
}
void testFinished()
{
- const auto locker = qt_scoped_lock(mutex);
- expecting.store(TestFunctionStart, std::memory_order_relaxed);
- waitCondition.notify_all();
+ setExpectation(TestFunctionStart);
}
void run() override