| Index: ipc/run_all_unittests.cc
|
| diff --git a/ipc/run_all_unittests.cc b/ipc/run_all_unittests.cc
|
| index 30e6c5971caadf6136a7050bbe37077f5c12e89c..44bbf60dc6deac77f06469a2017c2e97fcf1ba20 100644
|
| --- a/ipc/run_all_unittests.cc
|
| +++ b/ipc/run_all_unittests.cc
|
| @@ -5,15 +5,21 @@
|
| #include "base/bind.h"
|
| #include "base/test/launcher/unit_test_launcher.h"
|
| #include "base/test/multiprocess_test.h"
|
| +#include "base/test/test_io_thread.h"
|
| #include "base/test/test_suite.h"
|
| #include "build/build_config.h"
|
| #include "mojo/edk/embedder/embedder.h"
|
| +#include "mojo/edk/test/scoped_ipc_support.h"
|
|
|
| #if defined(OS_ANDROID)
|
| #include "base/android/jni_android.h"
|
| #include "base/test/test_file_util.h"
|
| #endif
|
|
|
| +#if defined(OS_MACOSX) && !defined(OS_IOS)
|
| +#include "base/mac/mach_port_broker.h"
|
| +#endif
|
| +
|
| int main(int argc, char** argv) {
|
| #if defined(OS_ANDROID)
|
| base::InitAndroidMultiProcessTestHelper(main);
|
| @@ -21,8 +27,20 @@ int main(int argc, char** argv) {
|
| JNIEnv* env = base::android::AttachCurrentThread();
|
| base::RegisterContentUriTestUtils(env);
|
| #endif
|
| - mojo::edk::Init();
|
| base::TestSuite test_suite(argc, argv);
|
| + mojo::edk::Init();
|
| + base::TestIOThread test_io_thread(base::TestIOThread::kAutoStart);
|
| + // Leak this because its destructor calls mojo::edk::ShutdownIPCSupport which
|
| + // really does nothing in the new EDK but does depend on the current message
|
| + // loop, which is destructed inside base::LaunchUnitTests.
|
| + new mojo::edk::test::ScopedIPCSupport(test_io_thread.task_runner());
|
| +
|
| +#if defined(OS_MACOSX) && !defined(OS_IOS)
|
| + base::MachPortBroker mach_broker("mojo_test");
|
| + CHECK(mach_broker.Init());
|
| + mojo::edk::SetMachPortProvider(&mach_broker);
|
| +#endif
|
| +
|
| return base::LaunchUnitTests(
|
| argc, argv,
|
| base::Bind(&base::TestSuite::Run, base::Unretained(&test_suite)));
|
|
|