OLD | NEW |
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/system/channel.h" | 5 #include "mojo/system/channel.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/location.h" | 8 #include "base/location.h" |
9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
10 #include "mojo/embedder/platform_channel_pair.h" | 10 #include "mojo/embedder/platform_channel_pair.h" |
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
257 // an |AttachMessagePipeEndpoint()| (which is actually incorrect). We need to | 257 // an |AttachMessagePipeEndpoint()| (which is actually incorrect). We need to |
258 // refactor |AttachMessagePipeEndpoint()| to indicate whether |Run...()| will | 258 // refactor |AttachMessagePipeEndpoint()| to indicate whether |Run...()| will |
259 // necessarily be called or not. (Then, in the case that it may not be called, | 259 // necessarily be called or not. (Then, in the case that it may not be called, |
260 // we should test a |Shutdown()| without the |Run...()|.) | 260 // we should test a |Shutdown()| without the |Run...()|.) |
261 EXPECT_TRUE(channel()->RunMessagePipeEndpoint(local_id, | 261 EXPECT_TRUE(channel()->RunMessagePipeEndpoint(local_id, |
262 Channel::kBootstrapEndpointId)); | 262 Channel::kBootstrapEndpointId)); |
263 | 263 |
264 Waiter waiter; | 264 Waiter waiter; |
265 waiter.Init(); | 265 waiter.Init(); |
266 EXPECT_EQ(MOJO_RESULT_OK, | 266 EXPECT_EQ(MOJO_RESULT_OK, |
267 mp->AddWaiter(0, &waiter, MOJO_WAIT_FLAG_READABLE, 123)); | 267 mp->AddWaiter(0, &waiter, MOJO_HANDLE_SIGNAL_READABLE, 123)); |
268 | 268 |
269 // Don't wait for the shutdown to run ... | 269 // Don't wait for the shutdown to run ... |
270 io_thread()->PostTask(FROM_HERE, | 270 io_thread()->PostTask(FROM_HERE, |
271 base::Bind(&ChannelTest::ShutdownChannelOnIOThread, | 271 base::Bind(&ChannelTest::ShutdownChannelOnIOThread, |
272 base::Unretained(this))); | 272 base::Unretained(this))); |
273 | 273 |
274 // ... since this |Wait()| should fail once the channel is shut down. | 274 // ... since this |Wait()| should fail once the channel is shut down. |
275 EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION, | 275 EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION, |
276 waiter.Wait(MOJO_DEADLINE_INDEFINITE, NULL)); | 276 waiter.Wait(MOJO_DEADLINE_INDEFINITE, NULL)); |
277 mp->RemoveWaiter(0, &waiter); | 277 mp->RemoveWaiter(0, &waiter); |
(...skipping 30 matching lines...) Expand all Loading... |
308 Channel::kBootstrapEndpointId)); | 308 Channel::kBootstrapEndpointId)); |
309 | 309 |
310 io_thread()->PostTaskAndWait( | 310 io_thread()->PostTaskAndWait( |
311 FROM_HERE, | 311 FROM_HERE, |
312 base::Bind(&ChannelTest::ShutdownChannelOnIOThread, | 312 base::Bind(&ChannelTest::ShutdownChannelOnIOThread, |
313 base::Unretained(this))); | 313 base::Unretained(this))); |
314 | 314 |
315 Waiter waiter; | 315 Waiter waiter; |
316 waiter.Init(); | 316 waiter.Init(); |
317 EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION, | 317 EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION, |
318 mp->AddWaiter(0, &waiter, MOJO_WAIT_FLAG_READABLE, 123)); | 318 mp->AddWaiter(0, &waiter, MOJO_HANDLE_SIGNAL_READABLE, 123)); |
319 | 319 |
320 mp->Close(0); | 320 mp->Close(0); |
321 | 321 |
322 EXPECT_TRUE(channel()->HasOneRef()); | 322 EXPECT_TRUE(channel()->HasOneRef()); |
323 } | 323 } |
324 | 324 |
325 // TODO(vtl): More. ------------------------------------------------------------ | 325 // TODO(vtl): More. ------------------------------------------------------------ |
326 | 326 |
327 } // namespace | 327 } // namespace |
328 } // namespace system | 328 } // namespace system |
329 } // namespace mojo | 329 } // namespace mojo |
OLD | NEW |