| Index: mojo/public/cpp/bindings/tests/associated_interface_unittest.cc
|
| diff --git a/mojo/public/cpp/bindings/tests/associated_interface_unittest.cc b/mojo/public/cpp/bindings/tests/associated_interface_unittest.cc
|
| index 2c4c42ee3674236c96dabab856fee1f88b102f1a..68f0a1cbdfd23cb58d9342cca8c40a93343784df 100644
|
| --- a/mojo/public/cpp/bindings/tests/associated_interface_unittest.cc
|
| +++ b/mojo/public/cpp/bindings/tests/associated_interface_unittest.cc
|
| @@ -173,36 +173,47 @@ TEST_F(AssociatedInterfaceTest, InterfacesAtBothEnds) {
|
| AssociatedInterfacePtr<IntegerSender> ptr1;
|
| ptr1.Bind(std::move(ptr_info));
|
|
|
| + base::RunLoop run_loop, run_loop2;
|
| bool ptr0_callback_run = false;
|
| - ptr0->Echo(123, [&ptr0_callback_run](int32_t value) {
|
| + ptr0->Echo(123, [&ptr0_callback_run, &run_loop](int32_t value) {
|
| EXPECT_EQ(123, value);
|
| ptr0_callback_run = true;
|
| + run_loop.Quit();
|
| });
|
|
|
| bool ptr1_callback_run = false;
|
| - ptr1->Echo(456, [&ptr1_callback_run](int32_t value) {
|
| + ptr1->Echo(456, [&ptr1_callback_run, &run_loop2](int32_t value) {
|
| EXPECT_EQ(456, value);
|
| ptr1_callback_run = true;
|
| + run_loop2.Quit();
|
| });
|
|
|
| - PumpMessages();
|
| + run_loop.Run();
|
| + run_loop2.Run();
|
| EXPECT_TRUE(ptr0_callback_run);
|
| EXPECT_TRUE(ptr1_callback_run);
|
|
|
| bool ptr0_error_callback_run = false;
|
| - ptr0.set_connection_error_handler(
|
| - [&ptr0_error_callback_run]() { ptr0_error_callback_run = true; });
|
| + base::RunLoop run_loop3;
|
| + ptr0.set_connection_error_handler([&ptr0_error_callback_run, &run_loop3]() {
|
| + ptr0_error_callback_run = true;
|
| + run_loop3.Quit();
|
| + });
|
|
|
| impl0.binding()->Close();
|
| - PumpMessages();
|
| + run_loop3.Run();
|
| EXPECT_TRUE(ptr0_error_callback_run);
|
|
|
| bool impl1_error_callback_run = false;
|
| + base::RunLoop run_loop4;
|
| impl1.binding()->set_connection_error_handler(
|
| - [&impl1_error_callback_run]() { impl1_error_callback_run = true; });
|
| + [&impl1_error_callback_run, &run_loop4]() {
|
| + impl1_error_callback_run = true;
|
| + run_loop4.Quit();
|
| + });
|
|
|
| ptr1.reset();
|
| - PumpMessages();
|
| + run_loop4.Run();
|
| EXPECT_TRUE(impl1_error_callback_run);
|
| }
|
|
|
| @@ -520,20 +531,31 @@ TEST_F(AssociatedInterfaceTest, PassAssociatedInterfaces) {
|
| GetProxy(&sender0, connection_ptr.associated_group()));
|
|
|
| int32_t echoed_value = 0;
|
| - sender0->Echo(123, [&echoed_value](int32_t value) { echoed_value = value; });
|
| - PumpMessages();
|
| + base::RunLoop run_loop;
|
| + sender0->Echo(123, [&echoed_value, &run_loop](int32_t value) {
|
| + echoed_value = value;
|
| + run_loop.Quit();
|
| + });
|
| + run_loop.Run();
|
| EXPECT_EQ(123, echoed_value);
|
|
|
| IntegerSenderAssociatedPtr sender1;
|
| + base::RunLoop run_loop2;
|
| connection_ptr->AsyncGetSender(
|
| - [&sender1](AssociatedInterfacePtrInfo<IntegerSender> ptr_info) {
|
| + [&sender1, &run_loop2](
|
| + AssociatedInterfacePtrInfo<IntegerSender> ptr_info) {
|
| sender1.Bind(std::move(ptr_info));
|
| + run_loop2.Quit();
|
| });
|
| - PumpMessages();
|
| + run_loop2.Run();
|
| EXPECT_TRUE(sender1);
|
|
|
| - sender1->Echo(456, [&echoed_value](int32_t value) { echoed_value = value; });
|
| - PumpMessages();
|
| + base::RunLoop run_loop3;
|
| + sender1->Echo(456, [&echoed_value, &run_loop3](int32_t value) {
|
| + echoed_value = value;
|
| + run_loop3.Quit();
|
| + });
|
| + run_loop3.Run();
|
| EXPECT_EQ(456, echoed_value);
|
| }
|
|
|
|
|