Index: mojo/public/cpp/application/lib/application_test_base.cc |
diff --git a/mojo/public/cpp/application/lib/application_test_base.cc b/mojo/public/cpp/application/lib/application_test_base.cc |
index 93eb3d0e5cf99239103c4719dad22eb191ca8edf..864289e2f2e99513f816a5cbaecf00193b572cc5 100644 |
--- a/mojo/public/cpp/application/lib/application_test_base.cc |
+++ b/mojo/public/cpp/application/lib/application_test_base.cc |
@@ -57,8 +57,10 @@ ApplicationDelegate* ApplicationTestBase::GetApplicationDelegate() { |
} |
void ApplicationTestBase::SetUpWithArgs(const Array<String>& args) { |
- // A run loop is needed for ApplicationImpl initialization and communication. |
- Environment::InstantiateDefaultRunLoop(); |
+ // A run loop is recommended for ApplicationImpl initialization and |
+ // communication. |
+ if (ShouldCreateDefaultRunLoop()) |
+ Environment::InstantiateDefaultRunLoop(); |
// New applications are constructed for each test to avoid persisting state. |
application_impl_ = new ApplicationImpl(GetApplicationDelegate(), |
@@ -75,7 +77,12 @@ void ApplicationTestBase::SetUp() { |
void ApplicationTestBase::TearDown() { |
SetShellHandle(application_impl_->UnbindShell()); |
delete application_impl_; |
- Environment::DestroyDefaultRunLoop(); |
+ if (ShouldCreateDefaultRunLoop()) |
+ Environment::DestroyDefaultRunLoop(); |
+} |
+ |
+bool ApplicationTestBase::ShouldCreateDefaultRunLoop() { |
+ return true; |
} |
} // namespace test |