Index: test/unittests/atomic-utils-unittest.cc |
diff --git a/test/unittests/atomic-utils-unittest.cc b/test/unittests/atomic-utils-unittest.cc |
deleted file mode 100644 |
index ad33853d58bc6c248cd3e3ef9e71d694b9cf7379..0000000000000000000000000000000000000000 |
--- a/test/unittests/atomic-utils-unittest.cc |
+++ /dev/null |
@@ -1,217 +0,0 @@ |
-// Copyright 2014 the V8 project authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include <limits.h> |
- |
-#include "src/atomic-utils.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-namespace v8 { |
-namespace internal { |
- |
-TEST(AtomicNumber, Constructor) { |
- // Test some common types. |
- AtomicNumber<int> zero_int; |
- AtomicNumber<size_t> zero_size_t; |
- AtomicNumber<intptr_t> zero_intptr_t; |
- EXPECT_EQ(0, zero_int.Value()); |
- EXPECT_EQ(0U, zero_size_t.Value()); |
- EXPECT_EQ(0, zero_intptr_t.Value()); |
-} |
- |
- |
-TEST(AtomicNumber, Value) { |
- AtomicNumber<int> a(1); |
- EXPECT_EQ(1, a.Value()); |
- AtomicNumber<int> b(-1); |
- EXPECT_EQ(-1, b.Value()); |
- AtomicNumber<size_t> c(1); |
- EXPECT_EQ(1U, c.Value()); |
- AtomicNumber<size_t> d(static_cast<size_t>(-1)); |
- EXPECT_EQ(std::numeric_limits<size_t>::max(), d.Value()); |
-} |
- |
- |
-TEST(AtomicNumber, SetValue) { |
- AtomicNumber<int> a(1); |
- a.SetValue(-1); |
- EXPECT_EQ(-1, a.Value()); |
-} |
- |
- |
-TEST(AtomicNumber, Increment) { |
- AtomicNumber<int> a(std::numeric_limits<int>::max()); |
- a.Increment(1); |
- EXPECT_EQ(std::numeric_limits<int>::min(), a.Value()); |
- // Check that potential signed-ness of the underlying storage has no impact |
- // on unsigned types. |
- AtomicNumber<size_t> b(std::numeric_limits<intptr_t>::max()); |
- b.Increment(1); |
- EXPECT_EQ(static_cast<size_t>(std::numeric_limits<intptr_t>::max()) + 1, |
- b.Value()); |
- // Should work as decrement as well. |
- AtomicNumber<size_t> c(1); |
- c.Increment(-1); |
- EXPECT_EQ(0U, c.Value()); |
- c.Increment(-1); |
- EXPECT_EQ(std::numeric_limits<size_t>::max(), c.Value()); |
-} |
- |
- |
-namespace { |
- |
-enum TestFlag { |
- kA, |
- kB, |
- kC, |
-}; |
- |
-} // namespace |
- |
- |
-TEST(AtomicValue, Initial) { |
- AtomicValue<TestFlag> a(kA); |
- EXPECT_EQ(TestFlag::kA, a.Value()); |
-} |
- |
- |
-TEST(AtomicValue, TrySetValue) { |
- AtomicValue<TestFlag> a(kA); |
- EXPECT_FALSE(a.TrySetValue(kB, kC)); |
- EXPECT_TRUE(a.TrySetValue(kA, kC)); |
- EXPECT_EQ(TestFlag::kC, a.Value()); |
-} |
- |
- |
-TEST(AtomicValue, SetValue) { |
- AtomicValue<TestFlag> a(kB); |
- a.SetValue(kC); |
- EXPECT_EQ(TestFlag::kC, a.Value()); |
-} |
- |
- |
-TEST(AtomicValue, WithVoidStar) { |
- AtomicValue<void*> a(nullptr); |
- AtomicValue<void*> dummy(nullptr); |
- EXPECT_EQ(nullptr, a.Value()); |
- a.SetValue(&a); |
- EXPECT_EQ(&a, a.Value()); |
- EXPECT_FALSE(a.TrySetValue(nullptr, &dummy)); |
- EXPECT_TRUE(a.TrySetValue(&a, &dummy)); |
- EXPECT_EQ(&dummy, a.Value()); |
-} |
- |
- |
-namespace { |
- |
-enum TestSetValue { kAA, kBB, kCC, kLastValue = kCC }; |
- |
-} // namespace |
- |
- |
-TEST(AtomicEnumSet, Constructor) { |
- AtomicEnumSet<TestSetValue> a; |
- EXPECT_TRUE(a.IsEmpty()); |
- EXPECT_FALSE(a.Contains(kAA)); |
-} |
- |
- |
-TEST(AtomicEnumSet, AddSingle) { |
- AtomicEnumSet<TestSetValue> a; |
- a.Add(kAA); |
- EXPECT_FALSE(a.IsEmpty()); |
- EXPECT_TRUE(a.Contains(kAA)); |
- EXPECT_FALSE(a.Contains(kBB)); |
- EXPECT_FALSE(a.Contains(kCC)); |
-} |
- |
- |
-TEST(AtomicEnumSet, AddOtherSet) { |
- AtomicEnumSet<TestSetValue> a; |
- AtomicEnumSet<TestSetValue> b; |
- a.Add(kAA); |
- EXPECT_FALSE(a.IsEmpty()); |
- EXPECT_TRUE(b.IsEmpty()); |
- b.Add(a); |
- EXPECT_FALSE(b.IsEmpty()); |
- EXPECT_TRUE(a.Contains(kAA)); |
- EXPECT_TRUE(b.Contains(kAA)); |
-} |
- |
- |
-TEST(AtomicEnumSet, RemoveSingle) { |
- AtomicEnumSet<TestSetValue> a; |
- a.Add(kAA); |
- a.Add(kBB); |
- EXPECT_TRUE(a.Contains(kAA)); |
- EXPECT_TRUE(a.Contains(kBB)); |
- a.Remove(kAA); |
- EXPECT_FALSE(a.Contains(kAA)); |
- EXPECT_TRUE(a.Contains(kBB)); |
-} |
- |
- |
-TEST(AtomicEnumSet, RemoveOtherSet) { |
- AtomicEnumSet<TestSetValue> a; |
- AtomicEnumSet<TestSetValue> b; |
- a.Add(kAA); |
- a.Add(kBB); |
- b.Add(kBB); |
- a.Remove(b); |
- EXPECT_TRUE(a.Contains(kAA)); |
- EXPECT_FALSE(a.Contains(kBB)); |
- EXPECT_FALSE(a.Contains(kCC)); |
-} |
- |
- |
-TEST(AtomicEnumSet, RemoveEmptySet) { |
- AtomicEnumSet<TestSetValue> a; |
- AtomicEnumSet<TestSetValue> b; |
- a.Add(kAA); |
- a.Add(kBB); |
- EXPECT_TRUE(a.Contains(kAA)); |
- EXPECT_TRUE(a.Contains(kBB)); |
- EXPECT_FALSE(a.Contains(kCC)); |
- EXPECT_TRUE(b.IsEmpty()); |
- a.Remove(b); |
- EXPECT_TRUE(a.Contains(kAA)); |
- EXPECT_TRUE(a.Contains(kBB)); |
- EXPECT_FALSE(a.Contains(kCC)); |
-} |
- |
- |
-TEST(AtomicEnumSet, Intersect) { |
- AtomicEnumSet<TestSetValue> a; |
- AtomicEnumSet<TestSetValue> b; |
- a.Add(kAA); |
- b.Add(kCC); |
- a.Intersect(b); |
- EXPECT_TRUE(a.IsEmpty()); |
-} |
- |
- |
-TEST(AtomicEnumSet, ContainsAnyOf) { |
- AtomicEnumSet<TestSetValue> a; |
- AtomicEnumSet<TestSetValue> b; |
- a.Add(kAA); |
- b.Add(kCC); |
- EXPECT_FALSE(a.ContainsAnyOf(b)); |
- b.Add(kAA); |
- EXPECT_TRUE(a.ContainsAnyOf(b)); |
-} |
- |
- |
-TEST(AtomicEnumSet, Equality) { |
- AtomicEnumSet<TestSetValue> a; |
- AtomicEnumSet<TestSetValue> b; |
- a.Add(kAA); |
- EXPECT_FALSE(a == b); |
- EXPECT_TRUE(a != b); |
- b.Add(kAA); |
- EXPECT_TRUE(a == b); |
- EXPECT_FALSE(a != b); |
-} |
- |
-} // namespace internal |
-} // namespace v8 |