diff options
author | Marc Mutz <marc.mutz@qt.io> | 2022-12-16 12:16:39 +0100 |
---|---|---|
committer | Marc Mutz <marc.mutz@qt.io> | 2022-12-16 22:58:10 +0100 |
commit | 17a7e5cfddcbf33ef0fd1c2b7acc65b85159194e (patch) | |
tree | a592ba6b665db958d9e6bfd78f47295556a97918 /src/testlib/qtestcase.cpp | |
parent | 6b5419f43505867949016685fe40d17d81ff2646 (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/qtestcase.cpp')
-rw-r--r-- | src/testlib/qtestcase.cpp | 21 |
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 |