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

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

Issue 1910233003: Implement a new child test helper for Android. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Inject main(). 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/embedder.h" 5 #include "mojo/edk/embedder/embedder.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 #include <string.h> 9 #include <string.h>
10 10
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 // 6. (close) 192 // 6. (close)
193 // 7. "baz" 193 // 7. "baz"
194 // 8. (closed) 194 // 8. (closed)
195 // 9. "quux"+mp2 195 // 9. "quux"+mp2
196 // 10. (close) 196 // 10. (close)
197 // 11. (wait/cl.) 197 // 11. (wait/cl.)
198 // 12. (wait/cl.) 198 // 12. (wait/cl.)
199 199
200 #if !defined(OS_IOS) 200 #if !defined(OS_IOS)
201 201
202 #if defined(OS_ANDROID) 202 TEST_F(EmbedderTest, MultiprocessChannels) {
203 // Android multi-process tests are not executing the new process. This is flaky.
204 #define MAYBE_MultiprocessChannels DISABLED_MultiprocessChannels
205 #else
206 #define MAYBE_MultiprocessChannels MultiprocessChannels
207 #endif // defined(OS_ANDROID)
208 TEST_F(EmbedderTest, MAYBE_MultiprocessChannels) {
209 RUN_CHILD_ON_PIPE(MultiprocessChannelsClient, server_mp) 203 RUN_CHILD_ON_PIPE(MultiprocessChannelsClient, server_mp)
210 // 1. Write a message to |server_mp| (attaching nothing). 204 // 1. Write a message to |server_mp| (attaching nothing).
211 WriteMessage(server_mp, "hello"); 205 WriteMessage(server_mp, "hello");
212 206
213 // 2. Read a message from |server_mp|. 207 // 2. Read a message from |server_mp|.
214 EXPECT_EQ("world!", ReadMessage(server_mp)); 208 EXPECT_EQ("world!", ReadMessage(server_mp));
215 209
216 // 3. Create a new message pipe (endpoints |mp0| and |mp1|). 210 // 3. Create a new message pipe (endpoints |mp0| and |mp1|).
217 MojoHandle mp0, mp1; 211 MojoHandle mp0, mp1;
218 CreateMessagePipe(&mp0, &mp1); 212 CreateMessagePipe(&mp0, &mp1);
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 // 10. Wait on |mp1| (which should eventually fail) and then close it. 278 // 10. Wait on |mp1| (which should eventually fail) and then close it.
285 MojoHandleSignalsState state; 279 MojoHandleSignalsState state;
286 ASSERT_EQ(MOJO_RESULT_FAILED_PRECONDITION, 280 ASSERT_EQ(MOJO_RESULT_FAILED_PRECONDITION,
287 MojoWait(mp1, MOJO_HANDLE_SIGNAL_READABLE, 281 MojoWait(mp1, MOJO_HANDLE_SIGNAL_READABLE,
288 MOJO_DEADLINE_INDEFINITE, &state)); 282 MOJO_DEADLINE_INDEFINITE, &state));
289 ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, state.satisfied_signals); 283 ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, state.satisfied_signals);
290 ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, state.satisfiable_signals); 284 ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, state.satisfiable_signals);
291 ASSERT_EQ(MOJO_RESULT_OK, MojoClose(mp1)); 285 ASSERT_EQ(MOJO_RESULT_OK, MojoClose(mp1));
292 } 286 }
293 287
294 #if defined(OS_ANDROID) 288 TEST_F(EmbedderTest, MultiprocessBaseSharedMemory) {
295 // Android multi-process tests are not executing the new process. This is flaky.
296 #define MAYBE_MultiprocessBaseSharedMemory DISABLED_MultiprocessBaseSharedMemory
297 #else
298 #define MAYBE_MultiprocessBaseSharedMemory MultiprocessBaseSharedMemory
299 #endif // defined(OS_ANDROID)
300 TEST_F(EmbedderTest, MAYBE_MultiprocessBaseSharedMemory) {
301 RUN_CHILD_ON_PIPE(MultiprocessSharedMemoryClient, server_mp) 289 RUN_CHILD_ON_PIPE(MultiprocessSharedMemoryClient, server_mp)
302 // 1. Create a base::SharedMemory object and create a mojo shared buffer 290 // 1. Create a base::SharedMemory object and create a mojo shared buffer
303 // from it. 291 // from it.
304 base::SharedMemoryCreateOptions options; 292 base::SharedMemoryCreateOptions options;
305 options.size = 123; 293 options.size = 123;
306 base::SharedMemory shared_memory; 294 base::SharedMemory shared_memory;
307 ASSERT_TRUE(shared_memory.Create(options)); 295 ASSERT_TRUE(shared_memory.Create(options));
308 base::SharedMemoryHandle shm_handle = base::SharedMemory::DuplicateHandle( 296 base::SharedMemoryHandle shm_handle = base::SharedMemory::DuplicateHandle(
309 shared_memory.handle()); 297 shared_memory.handle());
310 MojoHandle sb1; 298 MojoHandle sb1;
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
513 #endif // defined(OS_MACOSX) && !defined(OS_IOS) 501 #endif // defined(OS_MACOSX) && !defined(OS_IOS)
514 502
515 // TODO(vtl): Test immediate write & close. 503 // TODO(vtl): Test immediate write & close.
516 // TODO(vtl): Test broken-connection cases. 504 // TODO(vtl): Test broken-connection cases.
517 505
518 #endif // !defined(OS_IOS) 506 #endif // !defined(OS_IOS)
519 507
520 } // namespace 508 } // namespace
521 } // namespace edk 509 } // namespace edk
522 } // namespace mojo 510 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698