Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(329)

Unified Diff: base/memory/aligned_memory_unittest.cc

Issue 10796020: Upgrade AlignedMemory to support dynamic allocations. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Comments. Remove unused imports. Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: base/memory/aligned_memory_unittest.cc
diff --git a/base/memory/aligned_memory_unittest.cc b/base/memory/aligned_memory_unittest.cc
index 065e9522a9853ba5bb42f68509214255f2d34211..4532305b61431dcf1bb143ffd143ce73334e5c6d 100644
--- a/base/memory/aligned_memory_unittest.cc
+++ b/base/memory/aligned_memory_unittest.cc
@@ -3,7 +3,6 @@
// found in the LICENSE file.
#include "base/memory/aligned_memory.h"
-#include "base/memory/scoped_ptr.h"
#include "testing/gtest/include/gtest/gtest.h"
#define EXPECT_ALIGNED(ptr, align) \
@@ -15,9 +14,9 @@ using base::AlignedMemory;
TEST(AlignedMemoryTest, StaticAlignment) {
static AlignedMemory<8, 8> raw8;
- static AlignedMemory<8, 16> raw16;
- static AlignedMemory<8, 256> raw256;
- static AlignedMemory<8, 4096> raw4096;
+ static AlignedMemory<16, 8> raw16;
+ static AlignedMemory<256, 8> raw256;
+ static AlignedMemory<4096, 8> raw4096;
EXPECT_EQ(8u, ALIGNOF(raw8));
EXPECT_EQ(16u, ALIGNOF(raw16));
@@ -32,9 +31,9 @@ TEST(AlignedMemoryTest, StaticAlignment) {
TEST(AlignedMemoryTest, StackAlignment) {
AlignedMemory<8, 8> raw8;
- AlignedMemory<8, 16> raw16;
- AlignedMemory<8, 256> raw256;
- AlignedMemory<8, 4096> raw4096;
+ AlignedMemory<16, 8> raw16;
+ AlignedMemory<256, 8> raw256;
+ AlignedMemory<4096, 8> raw4096;
EXPECT_EQ(8u, ALIGNOF(raw8));
EXPECT_EQ(16u, ALIGNOF(raw16));
@@ -47,4 +46,26 @@ TEST(AlignedMemoryTest, StackAlignment) {
EXPECT_ALIGNED(raw4096.void_data(), 4096);
}
+TEST(AlignedMemoryTest, StackDynamicAllocation) {
+#if !defined(ARCH_CPU_64_BITS) || defined(OS_NACL)
+ AlignedMemory<4> raw4(8);
+ EXPECT_TRUE(raw4.void_data());
+ EXPECT_ALIGNED(raw4.void_data(), 4);
+#endif
+
+ AlignedMemory<8> raw8(8);
+ AlignedMemory<16> raw16(8);
+ AlignedMemory<256> raw256(8);
+ AlignedMemory<4096> raw4096(8);
+
+ EXPECT_TRUE(raw8.void_data());
+ EXPECT_ALIGNED(raw8.void_data(), 8);
+ EXPECT_TRUE(raw16.void_data());
+ EXPECT_ALIGNED(raw16.void_data(), 16);
+ EXPECT_TRUE(raw256.void_data());
+ EXPECT_ALIGNED(raw256.void_data(), 256);
+ EXPECT_TRUE(raw4096.void_data());
+ EXPECT_ALIGNED(raw4096.void_data(), 4096);
+}
+
} // namespace

Powered by Google App Engine
This is Rietveld 408576698