| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/system/message_pipe.h" | 5 #include "mojo/system/message_pipe.h" |
| 6 | 6 |
| 7 #include "base/memory/ref_counted.h" | 7 #include "base/memory/ref_counted.h" |
| 8 #include "base/threading/platform_thread.h" // For |Sleep()|. | 8 #include "base/threading/platform_thread.h" // For |Sleep()|. |
| 9 #include "base/time/time.h" | 9 #include "base/time/time.h" |
| 10 #include "mojo/system/waiter.h" | 10 #include "mojo/system/waiter.h" |
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 188 buffer_size = kBufferSize; | 188 buffer_size = kBufferSize; |
| 189 EXPECT_EQ(MOJO_RESULT_OK, | 189 EXPECT_EQ(MOJO_RESULT_OK, |
| 190 mp->ReadMessage(1, | 190 mp->ReadMessage(1, |
| 191 buffer, &buffer_size, | 191 buffer, &buffer_size, |
| 192 NULL, NULL, | 192 NULL, NULL, |
| 193 MOJO_READ_MESSAGE_FLAG_NONE)); | 193 MOJO_READ_MESSAGE_FLAG_NONE)); |
| 194 EXPECT_EQ(static_cast<uint32_t>(sizeof(buffer[0])), buffer_size); | 194 EXPECT_EQ(static_cast<uint32_t>(sizeof(buffer[0])), buffer_size); |
| 195 EXPECT_EQ(345678901, buffer[0]); | 195 EXPECT_EQ(345678901, buffer[0]); |
| 196 EXPECT_EQ(456, buffer[1]); | 196 EXPECT_EQ(456, buffer[1]); |
| 197 | 197 |
| 198 // Read again from port 1 -- it should be empty. | 198 // Read again from port 1 -- it should be empty (and port 0 is closed). |
| 199 buffer_size = kBufferSize; | 199 buffer_size = kBufferSize; |
| 200 EXPECT_EQ(MOJO_RESULT_NOT_FOUND, | 200 EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION, |
| 201 mp->ReadMessage(1, | 201 mp->ReadMessage(1, |
| 202 buffer, &buffer_size, | 202 buffer, &buffer_size, |
| 203 NULL, NULL, | 203 NULL, NULL, |
| 204 MOJO_READ_MESSAGE_FLAG_NONE)); | 204 MOJO_READ_MESSAGE_FLAG_NONE)); |
| 205 | 205 |
| 206 mp->Close(1); | 206 mp->Close(1); |
| 207 } | 207 } |
| 208 | 208 |
| 209 TEST(MessagePipeTest, CloseWithQueuedIncomingMessages) { | 209 TEST(MessagePipeTest, CloseWithQueuedIncomingMessages) { |
| 210 scoped_refptr<MessagePipe> mp(new MessagePipe()); | 210 scoped_refptr<MessagePipe> mp(new MessagePipe()); |
| (...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 507 | 507 |
| 508 mp->CancelAllWaiters(1); | 508 mp->CancelAllWaiters(1); |
| 509 mp->Close(1); | 509 mp->Close(1); |
| 510 } // Joins |thread|. | 510 } // Joins |thread|. |
| 511 EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION, result); | 511 EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION, result); |
| 512 } | 512 } |
| 513 | 513 |
| 514 } // namespace | 514 } // namespace |
| 515 } // namespace system | 515 } // namespace system |
| 516 } // namespace mojo | 516 } // namespace mojo |
| OLD | NEW |