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

Unified Diff: mojo/edk/system/message_pipe_unittest.cc

Issue 2741033003: Mojo EDK: Introduce MojoQueryHandleSignalsState API (Closed)
Patch Set: fix stupid bad DCHECK 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/system/message_pipe_perftest.cc ('k') | mojo/edk/system/multiprocess_message_pipe_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/edk/system/message_pipe_unittest.cc
diff --git a/mojo/edk/system/message_pipe_unittest.cc b/mojo/edk/system/message_pipe_unittest.cc
index 8f489508e924663e47bcf63a72f831f2e980dc3d..e6f1ff643793fce31bcc145ba3e8a8fd6e8a5471 100644
--- a/mojo/edk/system/message_pipe_unittest.cc
+++ b/mojo/edk/system/message_pipe_unittest.cc
@@ -100,8 +100,8 @@ TEST_F(MessagePipeTest, Basic) {
ASSERT_EQ(MOJO_RESULT_OK, WriteMessage(pipe1_, buffer, sizeof(buffer[0])));
MojoHandleSignalsState state;
- ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe0_, MOJO_HANDLE_SIGNAL_READABLE,
- MOJO_DEADLINE_INDEFINITE, &state));
+ ASSERT_EQ(MOJO_RESULT_OK,
+ WaitForSignals(pipe0_, MOJO_HANDLE_SIGNAL_READABLE, &state));
// Read from port 0.
buffer[0] = 123;
@@ -124,8 +124,8 @@ TEST_F(MessagePipeTest, Basic) {
buffer[1] = 0;
ASSERT_EQ(MOJO_RESULT_OK, WriteMessage(pipe0_, buffer, sizeof(buffer[0])));
- ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe1_, MOJO_HANDLE_SIGNAL_READABLE,
- MOJO_DEADLINE_INDEFINITE, &state));
+ ASSERT_EQ(MOJO_RESULT_OK,
+ WaitForSignals(pipe1_, MOJO_HANDLE_SIGNAL_READABLE, &state));
// Read from port 1 with buffer size 0 (should get the size of next message).
// Also test that giving a null buffer is okay when the buffer size is 0.
@@ -154,8 +154,8 @@ TEST_F(MessagePipeTest, Basic) {
ASSERT_EQ(123456789, buffer[0]);
ASSERT_EQ(456, buffer[1]);
- ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe1_, MOJO_HANDLE_SIGNAL_READABLE,
- MOJO_DEADLINE_INDEFINITE, &state));
+ ASSERT_EQ(MOJO_RESULT_OK,
+ WaitForSignals(pipe1_, MOJO_HANDLE_SIGNAL_READABLE, &state));
// Read again from port 1.
buffer[0] = 123;
@@ -179,8 +179,8 @@ TEST_F(MessagePipeTest, Basic) {
MojoClose(pipe0_);
pipe0_ = MOJO_HANDLE_INVALID;
- ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe1_, MOJO_HANDLE_SIGNAL_PEER_CLOSED,
- MOJO_DEADLINE_INDEFINITE, &state));
+ ASSERT_EQ(MOJO_RESULT_OK,
+ WaitForSignals(pipe1_, MOJO_HANDLE_SIGNAL_PEER_CLOSED, &state));
// Try to write from port 1 (to port 0).
buffer[0] = 456789012;
@@ -215,8 +215,8 @@ TEST_F(MessagePipeTest, CloseWithQueuedIncomingMessages) {
}
MojoHandleSignalsState state;
- ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe0_, MOJO_HANDLE_SIGNAL_READABLE,
- MOJO_DEADLINE_INDEFINITE, &state));
+ ASSERT_EQ(MOJO_RESULT_OK,
+ WaitForSignals(pipe0_, MOJO_HANDLE_SIGNAL_READABLE, &state));
// Port 0 shouldn't be empty.
buffer_size = 0;
@@ -241,8 +241,8 @@ TEST_F(MessagePipeTest, DiscardMode) {
ASSERT_EQ(MOJO_RESULT_OK, WriteMessage(pipe1_, buffer, sizeof(buffer[0])));
MojoHandleSignalsState state;
- ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe0_, MOJO_HANDLE_SIGNAL_READABLE,
- MOJO_DEADLINE_INDEFINITE, &state));
+ ASSERT_EQ(MOJO_RESULT_OK,
+ WaitForSignals(pipe0_, MOJO_HANDLE_SIGNAL_READABLE, &state));
// Read/discard from port 0 (no buffer); get size.
buffer_size = 0;
@@ -261,8 +261,8 @@ TEST_F(MessagePipeTest, DiscardMode) {
ASSERT_EQ(MOJO_RESULT_OK,
WriteMessage(pipe1_, buffer, sizeof(buffer[0])));
- ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe0_, MOJO_HANDLE_SIGNAL_READABLE,
- MOJO_DEADLINE_INDEFINITE, &state));
+ ASSERT_EQ(MOJO_RESULT_OK,
+ WaitForSignals(pipe0_, MOJO_HANDLE_SIGNAL_READABLE, &state));
// Read from port 0 (buffer big enough).
buffer[0] = 123;
@@ -283,8 +283,8 @@ TEST_F(MessagePipeTest, DiscardMode) {
buffer[1] = 0;
ASSERT_EQ(MOJO_RESULT_OK, WriteMessage(pipe1_, buffer, sizeof(buffer[0])));
- ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe0_, MOJO_HANDLE_SIGNAL_READABLE,
- MOJO_DEADLINE_INDEFINITE, &state));
+ ASSERT_EQ(MOJO_RESULT_OK,
+ WaitForSignals(pipe0_, MOJO_HANDLE_SIGNAL_READABLE, &state));
// Read/discard from port 0 (buffer too small); get size.
buffer_size = 1;
@@ -302,8 +302,8 @@ TEST_F(MessagePipeTest, DiscardMode) {
buffer[1] = 0;
ASSERT_EQ(MOJO_RESULT_OK, WriteMessage(pipe1_, buffer, sizeof(buffer[0])));
- ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe0_, MOJO_HANDLE_SIGNAL_READABLE,
- MOJO_DEADLINE_INDEFINITE, &state));
+ ASSERT_EQ(MOJO_RESULT_OK,
+ WaitForSignals(pipe0_, MOJO_HANDLE_SIGNAL_READABLE, &state));
// Discard from port 0.
buffer_size = 1;
@@ -323,41 +323,27 @@ TEST_F(MessagePipeTest, BasicWaiting) {
const uint32_t kBufferSize = static_cast<uint32_t>(sizeof(buffer));
uint32_t buffer_size;
- // Always writable (until the other port is closed).
- hss = MojoHandleSignalsState();
- ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe0_, MOJO_HANDLE_SIGNAL_WRITABLE, 0,
- &hss));
- ASSERT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, hss.satisfied_signals);
- ASSERT_EQ(kAllSignals, hss.satisfiable_signals);
- hss = MojoHandleSignalsState();
-
- // Not yet readable.
- ASSERT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED,
- MojoWait(pipe0_, MOJO_HANDLE_SIGNAL_READABLE, 0, &hss));
+ // Always writable (until the other port is closed). Not yet readable. Peer
+ // not closed.
+ hss = GetSignalsState(pipe0_);
ASSERT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, hss.satisfied_signals);
ASSERT_EQ(kAllSignals, hss.satisfiable_signals);
-
- // The peer is not closed.
hss = MojoHandleSignalsState();
- ASSERT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED,
- MojoWait(pipe0_, MOJO_HANDLE_SIGNAL_PEER_CLOSED, 0, &hss));
- ASSERT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, hss.satisfied_signals);
- ASSERT_EQ(kAllSignals, hss.satisfiable_signals);
// Write from port 0 (to port 1), to make port 1 readable.
buffer[0] = 123456789;
ASSERT_EQ(MOJO_RESULT_OK, WriteMessage(pipe0_, buffer, kBufferSize));
// Port 1 should already be readable now.
- ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe1_, MOJO_HANDLE_SIGNAL_READABLE,
- MOJO_DEADLINE_INDEFINITE, &hss));
+ ASSERT_EQ(MOJO_RESULT_OK,
+ WaitForSignals(pipe1_, MOJO_HANDLE_SIGNAL_READABLE, &hss));
ASSERT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
hss.satisfied_signals);
ASSERT_EQ(kAllSignals, hss.satisfiable_signals);
// ... and still writable.
hss = MojoHandleSignalsState();
- ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe1_, MOJO_HANDLE_SIGNAL_WRITABLE,
- MOJO_DEADLINE_INDEFINITE, &hss));
+ ASSERT_EQ(MOJO_RESULT_OK,
+ WaitForSignals(pipe1_, MOJO_HANDLE_SIGNAL_WRITABLE, &hss));
ASSERT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
hss.satisfied_signals);
ASSERT_EQ(kAllSignals, hss.satisfiable_signals);
@@ -368,8 +354,8 @@ TEST_F(MessagePipeTest, BasicWaiting) {
// Port 1 should be signaled with peer closed.
hss = MojoHandleSignalsState();
- ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe1_, MOJO_HANDLE_SIGNAL_PEER_CLOSED,
- MOJO_DEADLINE_INDEFINITE, &hss));
+ ASSERT_EQ(MOJO_RESULT_OK,
+ WaitForSignals(pipe1_, MOJO_HANDLE_SIGNAL_PEER_CLOSED, &hss));
ASSERT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED,
hss.satisfied_signals);
ASSERT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED,
@@ -379,8 +365,7 @@ TEST_F(MessagePipeTest, BasicWaiting) {
hss = MojoHandleSignalsState();
ASSERT_EQ(MOJO_RESULT_FAILED_PRECONDITION,
- MojoWait(pipe1_, MOJO_HANDLE_SIGNAL_WRITABLE,
- MOJO_DEADLINE_INDEFINITE, &hss));
+ WaitForSignals(pipe1_, MOJO_HANDLE_SIGNAL_WRITABLE, &hss));
ASSERT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED,
hss.satisfied_signals);
ASSERT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED,
@@ -388,8 +373,8 @@ TEST_F(MessagePipeTest, BasicWaiting) {
// But it should still be readable.
hss = MojoHandleSignalsState();
- ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe1_, MOJO_HANDLE_SIGNAL_READABLE,
- MOJO_DEADLINE_INDEFINITE, &hss));
+ ASSERT_EQ(MOJO_RESULT_OK,
+ WaitForSignals(pipe1_, MOJO_HANDLE_SIGNAL_READABLE, &hss));
ASSERT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED,
hss.satisfied_signals);
ASSERT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED,
@@ -404,8 +389,7 @@ TEST_F(MessagePipeTest, BasicWaiting) {
// Now port 1 should no longer be readable.
hss = MojoHandleSignalsState();
ASSERT_EQ(MOJO_RESULT_FAILED_PRECONDITION,
- MojoWait(pipe1_, MOJO_HANDLE_SIGNAL_READABLE,
- MOJO_DEADLINE_INDEFINITE, &hss));
+ WaitForSignals(pipe1_, MOJO_HANDLE_SIGNAL_READABLE, &hss));
ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfied_signals);
ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfiable_signals);
}
@@ -453,9 +437,7 @@ TEST_F(MessagePipeTest, WriteAndReadMessageObject) {
EXPECT_EQ(MOJO_RESULT_OK,
MojoWriteMessageNew(a, message, MOJO_WRITE_MESSAGE_FLAG_NONE));
- EXPECT_EQ(MOJO_RESULT_OK,
- MojoWait(b, MOJO_HANDLE_SIGNAL_READABLE, MOJO_DEADLINE_INDEFINITE,
- nullptr));
+ EXPECT_EQ(MOJO_RESULT_OK, WaitForSignals(b, MOJO_HANDLE_SIGNAL_READABLE));
uint32_t num_bytes = 0;
uint32_t num_handles = 0;
EXPECT_EQ(MOJO_RESULT_OK,
@@ -489,8 +471,7 @@ DEFINE_TEST_CLIENT_TEST_WITH_PIPE(HandlePingPong, MessagePipeTest, h) {
WriteMessageWithHandles(h, "", handles, kPingPongHandlesPerIteration);
}
- EXPECT_EQ(MOJO_RESULT_OK, MojoWait(h, MOJO_HANDLE_SIGNAL_READABLE,
- MOJO_DEADLINE_INDEFINITE, nullptr));
+ EXPECT_EQ(MOJO_RESULT_OK, WaitForSignals(h, MOJO_HANDLE_SIGNAL_READABLE));
char msg[4];
uint32_t num_bytes = 4;
EXPECT_EQ(MOJO_RESULT_OK, ReadMessage(h, msg, &num_bytes));
@@ -675,9 +656,7 @@ TEST_F(FuseMessagePipeTest, FuseAfterPeerClosure) {
EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, MojoClose(b));
EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, MojoClose(c));
- EXPECT_EQ(MOJO_RESULT_OK, MojoWait(d, MOJO_HANDLE_SIGNAL_PEER_CLOSED,
- MOJO_DEADLINE_INDEFINITE, nullptr));
-
+ EXPECT_EQ(MOJO_RESULT_OK, WaitForSignals(d, MOJO_HANDLE_SIGNAL_PEER_CLOSED));
EXPECT_EQ(MOJO_RESULT_OK, MojoClose(d));
}
@@ -700,9 +679,7 @@ TEST_F(FuseMessagePipeTest, FuseAfterPeerWriteAndClosure) {
EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, MojoClose(c));
EXPECT_EQ(kTestMessage, ReadMessage(d));
- EXPECT_EQ(MOJO_RESULT_OK, MojoWait(d, MOJO_HANDLE_SIGNAL_PEER_CLOSED,
- MOJO_DEADLINE_INDEFINITE, nullptr));
-
+ EXPECT_EQ(MOJO_RESULT_OK, WaitForSignals(d, MOJO_HANDLE_SIGNAL_PEER_CLOSED));
EXPECT_EQ(MOJO_RESULT_OK, MojoClose(d));
}
« no previous file with comments | « mojo/edk/system/message_pipe_perftest.cc ('k') | mojo/edk/system/multiprocess_message_pipe_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698