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"
15 int main(int argc
, char** argv
) {
16 base::CommandLine::Init(argc
, argv
);
17 const base::CommandLine
& command_line
=
18 *base::CommandLine::ForCurrentProcess();
20 if (command_line
.HasSwitch(switches::kChildProcess
)) {
21 base::AtExitManager at_exit
;
23 return mojo::runner::ChildProcessMain();
26 base::TestSuite
test_suite(argc
, argv
);
28 return base::LaunchUnitTests(
30 base::Bind(&base::TestSuite::Run
, base::Unretained(&test_suite
)));