diff options
Diffstat (limited to 'tests/auto/corelib/tools/qatomicscopedvaluerollback')
-rw-r--r-- | tests/auto/corelib/tools/qatomicscopedvaluerollback/CMakeLists.txt | 8 | ||||
-rw-r--r-- | tests/auto/corelib/tools/qatomicscopedvaluerollback/tst_qatomicscopedvaluerollback.cpp | 11 |
2 files changed, 15 insertions, 4 deletions
diff --git a/tests/auto/corelib/tools/qatomicscopedvaluerollback/CMakeLists.txt b/tests/auto/corelib/tools/qatomicscopedvaluerollback/CMakeLists.txt index b6f29d5b7f..b20e56421f 100644 --- a/tests/auto/corelib/tools/qatomicscopedvaluerollback/CMakeLists.txt +++ b/tests/auto/corelib/tools/qatomicscopedvaluerollback/CMakeLists.txt @@ -1,9 +1,13 @@ # Copyright (C) 2022 The Qt Company Ltd. # SPDX-License-Identifier: BSD-3-Clause +if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) + cmake_minimum_required(VERSION 3.16) + project(tst_qatomicscopedvaluerollback LANGUAGES CXX) + find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) +endif() + qt_internal_add_test(tst_qatomicscopedvaluerollback SOURCES tst_qatomicscopedvaluerollback.cpp - LIBRARIES - Qt::CorePrivate ) diff --git a/tests/auto/corelib/tools/qatomicscopedvaluerollback/tst_qatomicscopedvaluerollback.cpp b/tests/auto/corelib/tools/qatomicscopedvaluerollback/tst_qatomicscopedvaluerollback.cpp index 81d8242f71..89bd1d7ff6 100644 --- a/tests/auto/corelib/tools/qatomicscopedvaluerollback/tst_qatomicscopedvaluerollback.cpp +++ b/tests/auto/corelib/tools/qatomicscopedvaluerollback/tst_qatomicscopedvaluerollback.cpp @@ -1,7 +1,7 @@ // Copyright (C) 2022 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only -#include <QtCore/private/qatomicscopedvaluerollback_p.h> +#include <QtCore/qatomicscopedvaluerollback.h> #include <QTest> @@ -24,23 +24,30 @@ void tst_QAtomicScopedValueRollback::leavingScope() QAtomicInt i = 0; QBasicAtomicInteger<bool> b = false; std::atomic<bool> b2 = false; + int x = 0, y = 42; + QBasicAtomicPointer<int> p = &x; //test rollback on going out of scope { QAtomicScopedValueRollback ri(i); QAtomicScopedValueRollback rb(b); QAtomicScopedValueRollback rb2(b2, true); + QAtomicScopedValueRollback rp(p); QCOMPARE(b.loadRelaxed(), false); QCOMPARE(b2, true); QCOMPARE(i.loadRelaxed(), 0); + QCOMPARE(p.loadRelaxed(), &x); b.storeRelaxed(true); i.storeRelaxed(1); + p.storeRelaxed(&y); QCOMPARE(b.loadRelaxed(), true); QCOMPARE(i.loadRelaxed(), 1); + QCOMPARE(p.loadRelaxed(), &y); } QCOMPARE(b.loadRelaxed(), false); QCOMPARE(b2, false); QCOMPARE(i.loadRelaxed(), 0); + QCOMPARE(p.loadRelaxed(), &x); } void tst_QAtomicScopedValueRollback::leavingScopeAfterCommit() |