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

Unified Diff: mojo/edk/embedder/embedder_unittest.cc

Issue 2744943002: Mojo: Move waiting APIs to public library (Closed)
Patch Set: . Created 3 years, 9 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
« no previous file with comments | « mojo/edk/embedder/configuration.h ('k') | mojo/edk/embedder/entrypoints.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/edk/embedder/embedder_unittest.cc
diff --git a/mojo/edk/embedder/embedder_unittest.cc b/mojo/edk/embedder/embedder_unittest.cc
index d5a87e54f99b96e238ac97de39be7944f6928ae2..388b45c3651c807887cf5b6ecdcaf6499e1f9711 100644
--- a/mojo/edk/embedder/embedder_unittest.cc
+++ b/mojo/edk/embedder/embedder_unittest.cc
@@ -35,19 +35,13 @@
#include "mojo/public/c/system/core.h"
#include "mojo/public/cpp/system/handle.h"
#include "mojo/public/cpp/system/message_pipe.h"
+#include "mojo/public/cpp/system/wait.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace mojo {
namespace edk {
namespace {
-const MojoHandleSignals kSignalReadadableWritable =
- MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE;
-
-const MojoHandleSignals kSignalAll = MOJO_HANDLE_SIGNAL_READABLE |
- MOJO_HANDLE_SIGNAL_WRITABLE |
- MOJO_HANDLE_SIGNAL_PEER_CLOSED;
-
// The multiprocess tests that use these don't compile on iOS.
#if !defined(OS_IOS)
const char kHelloWorld[] = "hello world";
@@ -70,50 +64,6 @@ TEST_F(EmbedderTest, ChannelBasic) {
ASSERT_EQ(MOJO_RESULT_OK, MojoClose(client_mp));
}
-// Test sending a MP which has read messages out of the OS pipe but which have
-// not been consumed using MojoReadMessage yet.
-TEST_F(EmbedderTest, SendReadableMessagePipe) {
- MojoHandle server_mp, client_mp;
- CreateMessagePipe(&server_mp, &client_mp);
-
- MojoHandle server_mp2, client_mp2;
- CreateMessagePipe(&server_mp2, &client_mp2);
-
- // Write to server2 and wait for client2 to be readable before sending it.
- // client2's MessagePipeDispatcher will have the message below in its
- // message_queue_. For extra measures, also verify that this pending message
- // can contain a message pipe.
- MojoHandle server_mp3, client_mp3;
- CreateMessagePipe(&server_mp3, &client_mp3);
-
- const std::string kHello = "hello";
- WriteMessageWithHandles(server_mp2, kHello, &client_mp3, 1);
-
- MojoHandleSignalsState state;
- ASSERT_EQ(MOJO_RESULT_OK, MojoWait(client_mp2, MOJO_HANDLE_SIGNAL_READABLE,
- MOJO_DEADLINE_INDEFINITE, &state));
- ASSERT_EQ(kSignalReadadableWritable, state.satisfied_signals);
- ASSERT_EQ(kSignalAll, state.satisfiable_signals);
-
- // Now send client2
- WriteMessageWithHandles(server_mp, kHello, &client_mp2, 1);
-
- MojoHandle port;
- std::string message = ReadMessageWithHandles(client_mp, &port, 1);
- EXPECT_EQ(kHello, message);
-
- client_mp2 = port;
- message = ReadMessageWithHandles(client_mp2, &client_mp3, 1);
- EXPECT_EQ(kHello, message);
-
- ASSERT_EQ(MOJO_RESULT_OK, MojoClose(server_mp3));
- ASSERT_EQ(MOJO_RESULT_OK, MojoClose(client_mp3));
- ASSERT_EQ(MOJO_RESULT_OK, MojoClose(server_mp2));
- ASSERT_EQ(MOJO_RESULT_OK, MojoClose(client_mp2));
- ASSERT_EQ(MOJO_RESULT_OK, MojoClose(server_mp));
- ASSERT_EQ(MOJO_RESULT_OK, MojoClose(client_mp));
-}
-
// Verifies that a MP with pending messages to be written can be sent and the
// pending messages aren't dropped.
TEST_F(EmbedderTest, SendMessagePipeWithWriteQueue) {
@@ -217,10 +167,8 @@ TEST_F(EmbedderTest, PipeSetup_LaunchDeath) {
// the reserved port.
ignore_result(pair.PassClientHandle());
- EXPECT_EQ(MOJO_RESULT_OK, MojoWait(parent_mp.get().value(),
- MOJO_HANDLE_SIGNAL_PEER_CLOSED,
- MOJO_DEADLINE_INDEFINITE,
- nullptr));
+ EXPECT_EQ(MOJO_RESULT_OK, WaitForSignals(parent_mp.get().value(),
+ MOJO_HANDLE_SIGNAL_PEER_CLOSED));
}
TEST_F(EmbedderTest, PipeSetup_LaunchFailure) {
@@ -234,10 +182,8 @@ TEST_F(EmbedderTest, PipeSetup_LaunchFailure) {
// called, any message pipes associated with it detect peer closure.
process.reset();
- EXPECT_EQ(MOJO_RESULT_OK, MojoWait(parent_mp.get().value(),
- MOJO_HANDLE_SIGNAL_PEER_CLOSED,
- MOJO_DEADLINE_INDEFINITE,
- nullptr));
+ EXPECT_EQ(MOJO_RESULT_OK, WaitForSignals(parent_mp.get().value(),
+ MOJO_HANDLE_SIGNAL_PEER_CLOSED));
}
// The sequence of messages sent is:
@@ -292,9 +238,7 @@ TEST_F(EmbedderTest, MultiprocessChannels) {
// 10. Wait on |mp2| (which should eventually fail) and then close it.
MojoHandleSignalsState state;
ASSERT_EQ(MOJO_RESULT_FAILED_PRECONDITION,
- MojoWait(mp2, MOJO_HANDLE_SIGNAL_READABLE,
- MOJO_DEADLINE_INDEFINITE,
- &state));
+ WaitForSignals(mp2, MOJO_HANDLE_SIGNAL_READABLE, &state));
ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, state.satisfied_signals);
ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, state.satisfiable_signals);
@@ -336,8 +280,7 @@ DEFINE_TEST_CLIENT_TEST_WITH_PIPE(MultiprocessChannelsClient, EmbedderTest,
// 10. Wait on |mp1| (which should eventually fail) and then close it.
MojoHandleSignalsState state;
ASSERT_EQ(MOJO_RESULT_FAILED_PRECONDITION,
- MojoWait(mp1, MOJO_HANDLE_SIGNAL_READABLE,
- MOJO_DEADLINE_INDEFINITE, &state));
+ WaitForSignals(mp1, MOJO_HANDLE_SIGNAL_READABLE, &state));
ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, state.satisfied_signals);
ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, state.satisfiable_signals);
ASSERT_EQ(MOJO_RESULT_OK, MojoClose(mp1));
@@ -586,8 +529,7 @@ TEST_F(EmbedderTest, ClosePendingPeerConnection) {
ConnectToPeerProcess(CreateServerHandle(named_handle), peer_token);
ClosePeerConnection(peer_token);
EXPECT_EQ(MOJO_RESULT_OK,
- Wait(server_pipe.get(), MOJO_HANDLE_SIGNAL_PEER_CLOSED,
- MOJO_DEADLINE_INDEFINITE, nullptr));
+ Wait(server_pipe.get(), MOJO_HANDLE_SIGNAL_PEER_CLOSED));
base::MessageLoop message_loop;
base::RunLoop run_loop;
ScopedPlatformHandle client_handle;
@@ -617,8 +559,8 @@ TEST_F(EmbedderTest, ClosePipeToConnectedPeer) {
controller.ClosePeerConnection();
- EXPECT_EQ(MOJO_RESULT_OK, MojoWait(server_mp, MOJO_HANDLE_SIGNAL_PEER_CLOSED,
- MOJO_DEADLINE_INDEFINITE, nullptr));
+ EXPECT_EQ(MOJO_RESULT_OK,
+ WaitForSignals(server_mp, MOJO_HANDLE_SIGNAL_PEER_CLOSED));
EXPECT_EQ(0, controller.WaitForShutdown());
}
@@ -632,8 +574,7 @@ DEFINE_TEST_CLIENT_TEST_WITH_PIPE(ClosePipeToConnectedPeerClient, EmbedderTest,
WriteMessage(client_mp, "world!");
ASSERT_EQ(MOJO_RESULT_OK,
- MojoWait(client_mp, MOJO_HANDLE_SIGNAL_PEER_CLOSED,
- MOJO_DEADLINE_INDEFINITE, nullptr));
+ WaitForSignals(client_mp, MOJO_HANDLE_SIGNAL_PEER_CLOSED));
}
TEST_F(EmbedderTest, ClosePipeToConnectingPeer) {
@@ -643,16 +584,16 @@ TEST_F(EmbedderTest, ClosePipeToConnectingPeer) {
MojoHandle server_mp = controller.pipe();
- EXPECT_EQ(MOJO_RESULT_OK, MojoWait(server_mp, MOJO_HANDLE_SIGNAL_PEER_CLOSED,
- MOJO_DEADLINE_INDEFINITE, nullptr));
+ EXPECT_EQ(MOJO_RESULT_OK,
+ WaitForSignals(server_mp, MOJO_HANDLE_SIGNAL_PEER_CLOSED));
EXPECT_EQ(0, controller.WaitForShutdown());
}
DEFINE_TEST_CLIENT_TEST_WITH_PIPE(ClosePipeToConnectingPeerClient, EmbedderTest,
client_mp) {
- ASSERT_EQ(MOJO_RESULT_OK, MojoWait(client_mp, MOJO_HANDLE_SIGNAL_PEER_CLOSED,
- MOJO_DEADLINE_INDEFINITE, nullptr));
+ ASSERT_EQ(MOJO_RESULT_OK,
+ WaitForSignals(client_mp, MOJO_HANDLE_SIGNAL_PEER_CLOSED));
}
#endif // !defined(OS_IOS)
« no previous file with comments | « mojo/edk/embedder/configuration.h ('k') | mojo/edk/embedder/entrypoints.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698