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

Unified Diff: mojo/message_pump/message_pump_mojo_unittest.cc

Issue 1467953002: Implement MessagePumpMojo using WaitSet. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@mojo-waitset-implementation
Patch Set: Fix component builds. Created 5 years 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
Index: mojo/message_pump/message_pump_mojo_unittest.cc
diff --git a/mojo/message_pump/message_pump_mojo_unittest.cc b/mojo/message_pump/message_pump_mojo_unittest.cc
index 687d5f39dc0e94dc0be753523390e732959e4495..fb944b788816daeceb568df778ee80fd673c4121 100644
--- a/mojo/message_pump/message_pump_mojo_unittest.cc
+++ b/mojo/message_pump/message_pump_mojo_unittest.cc
@@ -119,6 +119,40 @@ TEST(MessagePumpMojo, UnregisterAfterDeadline) {
EXPECT_EQ(1, handler.error_count());
}
+TEST(MessagePumpMojo, AddClosedHandle) {
+ base::MessageLoop message_loop(MessagePumpMojo::Create());
+ CountingMojoHandler handler;
+ MessagePipe handles;
+ Handle closed_handle = handles.handle0.get();
+ handles.handle0.reset();
+ MessagePumpMojo::current()->AddHandler(
+ &handler,
+ closed_handle,
+ MOJO_HANDLE_SIGNAL_READABLE,
+ base::TimeTicks());
+ base::RunLoop run_loop;
+ run_loop.RunUntilIdle();
+ MessagePumpMojo::current()->RemoveHandler(closed_handle);
+ EXPECT_EQ(0, handler.error_count());
+ EXPECT_EQ(0, handler.success_count());
+}
+
+TEST(MessagePumpMojo, CloseAfterAdding) {
+ base::MessageLoop message_loop(MessagePumpMojo::Create());
+ CountingMojoHandler handler;
+ MessagePipe handles;
+ MessagePumpMojo::current()->AddHandler(
+ &handler,
+ handles.handle0.get(),
+ MOJO_HANDLE_SIGNAL_READABLE,
+ base::TimeTicks());
+ handles.handle0.reset();
+ base::RunLoop run_loop;
+ run_loop.RunUntilIdle();
+ EXPECT_EQ(1, handler.error_count());
+ EXPECT_EQ(0, handler.success_count());
+}
+
} // namespace test
} // namespace common
} // namespace mojo

Powered by Google App Engine
This is Rietveld 408576698