1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "base/at_exit.h"
7 #include "base/command_line.h"
8 #include "base/logging.h"
9 #include "base/test/launcher/unit_test_launcher.h"
10 #include "base/test/test_suite.h"
11 #include "mojo/runner/child_process.h"
12 #include "mojo/runner/switches.h"
13 #include "testing/gtest/include/gtest/gtest.h"
14 #include "third_party/mojo/src/mojo/edk/embedder/test_embedder.h"
16 int main(int argc
, char** argv
) {
17 base::CommandLine::Init(argc
, argv
);
18 const base::CommandLine
& command_line
=
19 *base::CommandLine::ForCurrentProcess();
21 if (command_line
.HasSwitch(switches::kChildProcess
)) {
22 base::AtExitManager at_exit
;
24 return mojo::runner::ChildProcessMain();
27 base::TestSuite
test_suite(argc
, argv
);
29 mojo::embedder::test::InitWithSimplePlatformSupport();
31 return base::LaunchUnitTests(
33 base::Bind(&base::TestSuite::Run
, base::Unretained(&test_suite
)));