aboutsummaryrefslogtreecommitdiffstats
path: root/util/system/atomic_ut.cpp
diff options
context:
space:
mode:
authorAnton Samokhvalov <pg83@yandex.ru>2022-02-10 16:45:17 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:45:17 +0300
commitd3a398281c6fd1d3672036cb2d63f842d2cb28c5 (patch)
treedd4bd3ca0f36b817e96812825ffaf10d645803f2 /util/system/atomic_ut.cpp
parent72cb13b4aff9bc9cf22e49251bc8fd143f82538f (diff)
downloadydb-d3a398281c6fd1d3672036cb2d63f842d2cb28c5.tar.gz
Restoring authorship annotation for Anton Samokhvalov <pg83@yandex.ru>. Commit 2 of 2.
Diffstat (limited to 'util/system/atomic_ut.cpp')
-rw-r--r--util/system/atomic_ut.cpp90
1 files changed, 45 insertions, 45 deletions
diff --git a/util/system/atomic_ut.cpp b/util/system/atomic_ut.cpp
index efe9442fe27..07211ffba73 100644
--- a/util/system/atomic_ut.cpp
+++ b/util/system/atomic_ut.cpp
@@ -1,45 +1,45 @@
-#include "atomic.h"
-
+#include "atomic.h"
+
#include <library/cpp/testing/unittest/registar.h>
-
-#include <util/generic/ylimits.h>
-
+
+#include <util/generic/ylimits.h>
+
template <typename TAtomic>
class TAtomicTest
- : public TTestBase {
+ : public TTestBase {
UNIT_TEST_SUITE(TAtomicTest);
- UNIT_TEST(TestAtomicInc1)
- UNIT_TEST(TestAtomicInc2)
+ UNIT_TEST(TestAtomicInc1)
+ UNIT_TEST(TestAtomicInc2)
UNIT_TEST(TestAtomicGetAndInc)
- UNIT_TEST(TestAtomicDec)
+ UNIT_TEST(TestAtomicDec)
UNIT_TEST(TestAtomicGetAndDec)
- UNIT_TEST(TestAtomicAdd)
+ UNIT_TEST(TestAtomicAdd)
UNIT_TEST(TestAtomicGetAndAdd)
- UNIT_TEST(TestAtomicSub)
+ UNIT_TEST(TestAtomicSub)
UNIT_TEST(TestAtomicGetAndSub)
- UNIT_TEST(TestAtomicSwap)
+ UNIT_TEST(TestAtomicSwap)
UNIT_TEST(TestAtomicOr)
UNIT_TEST(TestAtomicAnd)
UNIT_TEST(TestAtomicXor)
- UNIT_TEST(TestCAS)
+ UNIT_TEST(TestCAS)
UNIT_TEST(TestGetAndCAS)
- UNIT_TEST(TestLockUnlock)
+ UNIT_TEST(TestLockUnlock)
UNIT_TEST_SUITE_END();
-
+
private:
inline void TestLockUnlock() {
TAtomic v = 0;
-
+
UNIT_ASSERT(AtomicTryLock(&v));
UNIT_ASSERT(!AtomicTryLock(&v));
UNIT_ASSERT_VALUES_EQUAL(v, 1);
AtomicUnlock(&v);
UNIT_ASSERT_VALUES_EQUAL(v, 0);
}
-
+
inline void TestCAS() {
TAtomic v = 0;
-
+
UNIT_ASSERT(AtomicCas(&v, 1, 0));
UNIT_ASSERT(!AtomicCas(&v, 1, 0));
UNIT_ASSERT_VALUES_EQUAL(v, 1);
@@ -48,7 +48,7 @@ private:
UNIT_ASSERT(AtomicCas(&v, Max<intptr_t>(), 0));
UNIT_ASSERT_VALUES_EQUAL(v, Max<intptr_t>());
}
-
+
inline void TestGetAndCAS() {
TAtomic v = 0;
@@ -63,22 +63,22 @@ private:
inline void TestAtomicInc1() {
TAtomic v = 0;
-
+
UNIT_ASSERT(AtomicAdd(v, 1));
UNIT_ASSERT_VALUES_EQUAL(v, 1);
UNIT_ASSERT(AtomicAdd(v, 10));
UNIT_ASSERT_VALUES_EQUAL(v, 11);
}
-
+
inline void TestAtomicInc2() {
TAtomic v = 0;
-
+
UNIT_ASSERT(AtomicIncrement(v));
UNIT_ASSERT_VALUES_EQUAL(v, 1);
UNIT_ASSERT(AtomicIncrement(v));
UNIT_ASSERT_VALUES_EQUAL(v, 2);
}
-
+
inline void TestAtomicGetAndInc() {
TAtomic v = 0;
@@ -90,13 +90,13 @@ private:
inline void TestAtomicDec() {
TAtomic v = 2;
-
+
UNIT_ASSERT(AtomicDecrement(v));
UNIT_ASSERT_VALUES_EQUAL(v, 1);
UNIT_ASSERT(!AtomicDecrement(v));
UNIT_ASSERT_VALUES_EQUAL(v, 0);
}
-
+
inline void TestAtomicGetAndDec() {
TAtomic v = 2;
@@ -108,7 +108,7 @@ private:
inline void TestAtomicAdd() {
TAtomic v = 0;
-
+
UNIT_ASSERT_VALUES_EQUAL(AtomicAdd(v, 1), 1);
UNIT_ASSERT_VALUES_EQUAL(AtomicAdd(v, 2), 3);
UNIT_ASSERT_VALUES_EQUAL(AtomicAdd(v, -4), -1);
@@ -124,15 +124,15 @@ private:
UNIT_ASSERT_VALUES_EQUAL(v, -1);
}
- inline void TestAtomicSub() {
+ inline void TestAtomicSub() {
TAtomic v = 4;
-
+
UNIT_ASSERT_VALUES_EQUAL(AtomicSub(v, 1), 3);
UNIT_ASSERT_VALUES_EQUAL(AtomicSub(v, 2), 1);
UNIT_ASSERT_VALUES_EQUAL(AtomicSub(v, 3), -2);
UNIT_ASSERT_VALUES_EQUAL(v, -2);
}
-
+
inline void TestAtomicGetAndSub() {
TAtomic v = 4;
@@ -144,7 +144,7 @@ private:
inline void TestAtomicSwap() {
TAtomic v = 0;
-
+
UNIT_ASSERT_VALUES_EQUAL(AtomicSwap(&v, 3), 0);
UNIT_ASSERT_VALUES_EQUAL(AtomicSwap(&v, 5), 3);
UNIT_ASSERT_VALUES_EQUAL(AtomicSwap(&v, -7), 5);
@@ -186,32 +186,32 @@ private:
UNIT_ASSERT_VALUES_EQUAL(AtomicSwap(&p, nullptr), &i);
UNIT_ASSERT(AtomicCas(&p, &i, nullptr));
}
-};
-
+};
+
UNIT_TEST_SUITE_REGISTRATION(TAtomicTest<TAtomic>);
#ifndef _MSC_VER
// chooses type *other than* T1
-template <typename T1, typename T2, typename T3>
-struct TChooser {
+template <typename T1, typename T2, typename T3>
+struct TChooser {
using TdType = T2;
};
-
-template <typename T1, typename T2>
-struct TChooser<T1, T1, T2> {
+
+template <typename T1, typename T2>
+struct TChooser<T1, T1, T2> {
using TdType = T2;
};
-
-template <typename T1>
-struct TChooser<T1, T1, T1> {};
- #if defined(__IOS__) && defined(_32_)
-using TAltAtomic = int;
- #else
+template <typename T1>
+struct TChooser<T1, T1, T1> {};
+
+ #if defined(__IOS__) && defined(_32_)
+using TAltAtomic = int;
+ #else
using TAltAtomic = volatile TChooser<TAtomicBase, long, long long>::TdType;
- #endif
+ #endif
-class TTTest: public TAtomicTest<TAltAtomic> {
+class TTTest: public TAtomicTest<TAltAtomic> {
public:
TString Name() const noexcept override {
return "TAtomicTest<TAltAtomic>";