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

Side by Side Diff: mojo/edk/embedder/platform_shared_buffer_unittest.cc

Issue 1897623002: Remove POSIX shared memory. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase against https://codereview.chromium.org/1890043002/. Created 4 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "mojo/edk/embedder/platform_shared_buffer.h" 5 #include "mojo/edk/embedder/platform_shared_buffer.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <limits> 9 #include <limits>
10 10
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 EXPECT_EQ('x', static_cast<char*>(mapping2->GetBase())[0]); 187 EXPECT_EQ('x', static_cast<char*>(mapping2->GetBase())[0]);
188 188
189 static_cast<char*>(mapping2->GetBase())[1] = 'y'; 189 static_cast<char*>(mapping2->GetBase())[1] = 'y';
190 EXPECT_EQ('y', static_cast<char*>(mapping1->GetBase())[51]); 190 EXPECT_EQ('y', static_cast<char*>(mapping1->GetBase())[51]);
191 } 191 }
192 192
193 TEST(PlatformSharedBufferTest, FromSharedMemoryHandle) { 193 TEST(PlatformSharedBufferTest, FromSharedMemoryHandle) {
194 const size_t kBufferSize = 1234; 194 const size_t kBufferSize = 1234;
195 base::SharedMemoryCreateOptions options; 195 base::SharedMemoryCreateOptions options;
196 options.size = kBufferSize; 196 options.size = kBufferSize;
197 #if defined(OS_MACOSX) && !defined(OS_IOS)
198 options.type = base::SharedMemoryHandle::POSIX;
199 #endif
200 base::SharedMemory shared_memory; 197 base::SharedMemory shared_memory;
201 ASSERT_TRUE(shared_memory.Create(options)); 198 ASSERT_TRUE(shared_memory.Create(options));
202 ASSERT_TRUE(shared_memory.Map(kBufferSize)); 199 ASSERT_TRUE(shared_memory.Map(kBufferSize));
203 200
204 base::SharedMemoryHandle shm_handle = 201 base::SharedMemoryHandle shm_handle =
205 base::SharedMemory::DuplicateHandle(shared_memory.handle()); 202 base::SharedMemory::DuplicateHandle(shared_memory.handle());
206 scoped_refptr<PlatformSharedBuffer> simple_buffer( 203 scoped_refptr<PlatformSharedBuffer> simple_buffer(
207 PlatformSharedBuffer::CreateFromSharedMemoryHandle( 204 PlatformSharedBuffer::CreateFromSharedMemoryHandle(
208 kBufferSize, false /* read_only */, shm_handle)); 205 kBufferSize, false /* read_only */, shm_handle));
209 ASSERT_TRUE(simple_buffer); 206 ASSERT_TRUE(simple_buffer);
210 207
211 scoped_ptr<PlatformSharedBufferMapping> mapping = 208 scoped_ptr<PlatformSharedBufferMapping> mapping =
212 simple_buffer->Map(0, kBufferSize); 209 simple_buffer->Map(0, kBufferSize);
213 ASSERT_TRUE(mapping); 210 ASSERT_TRUE(mapping);
214 211
215 const int kOffset = 123; 212 const int kOffset = 123;
216 char* base_memory = static_cast<char*>(shared_memory.memory()); 213 char* base_memory = static_cast<char*>(shared_memory.memory());
217 char* mojo_memory = static_cast<char*>(mapping->GetBase()); 214 char* mojo_memory = static_cast<char*>(mapping->GetBase());
218 base_memory[kOffset] = 0; 215 base_memory[kOffset] = 0;
219 EXPECT_EQ(0, mojo_memory[kOffset]); 216 EXPECT_EQ(0, mojo_memory[kOffset]);
220 base_memory[kOffset] = 'a'; 217 base_memory[kOffset] = 'a';
221 EXPECT_EQ('a', mojo_memory[kOffset]); 218 EXPECT_EQ('a', mojo_memory[kOffset]);
222 mojo_memory[kOffset] = 'z'; 219 mojo_memory[kOffset] = 'z';
223 EXPECT_EQ('z', base_memory[kOffset]); 220 EXPECT_EQ('z', base_memory[kOffset]);
224 } 221 }
225 222
226 } // namespace 223 } // namespace
227 } // namespace edk 224 } // namespace edk
228 } // namespace mojo 225 } // namespace mojo
OLDNEW
« mojo/edk/embedder/embedder_unittest.cc ('K') | « mojo/edk/embedder/platform_shared_buffer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698