| Index: mojo/shell/public/cpp/lib/shell_test.cc
|
| diff --git a/mojo/shell/public/cpp/lib/shell_test.cc b/mojo/shell/public/cpp/lib/shell_test.cc
|
| index e5cb3c2edb822e6b922836e9e867bf49433676a0..605e7c59b1b3f2b951e8bf719f2d4cb0dc76b0f1 100644
|
| --- a/mojo/shell/public/cpp/lib/shell_test.cc
|
| +++ b/mojo/shell/public/cpp/lib/shell_test.cc
|
| @@ -5,6 +5,7 @@
|
| #include "mojo/shell/public/cpp/shell_test.h"
|
|
|
| #include "base/message_loop/message_loop.h"
|
| +#include "base/run_loop.h"
|
| #include "mojo/shell/background/background_shell.h"
|
| #include "mojo/shell/public/cpp/shell_client.h"
|
|
|
| @@ -44,6 +45,7 @@ void ShellTest::InitializeCalled(Connector* connector,
|
| initialize_name_ = name;
|
| initialize_instance_id_ = id;
|
| initialize_userid_ = user_id;
|
| + initialize_called_.Run();
|
| }
|
|
|
| void ShellTest::SetUp() {
|
| @@ -51,10 +53,20 @@ void ShellTest::SetUp() {
|
| message_loop_ = CreateMessageLoop();
|
| background_shell_.reset(new shell::BackgroundShell);
|
| background_shell_->Init(nullptr);
|
| +
|
| + // Create the shell connection. We don't proceed until we get our
|
| + // ShellClient's Initialize() method is called.
|
| + base::RunLoop run_loop;
|
| + base::MessageLoop::ScopedNestableTaskAllower allow(
|
| + base::MessageLoop::current());
|
| + initialize_called_ = run_loop.QuitClosure();
|
| +
|
| shell_connection_.reset(new ShellConnection(
|
| shell_client_.get(),
|
| background_shell_->CreateShellClientRequest(test_name_)));
|
| connector_ = shell_connection_->connector();
|
| +
|
| + run_loop.Run();
|
| }
|
|
|
| void ShellTest::TearDown() {
|
|
|