| Index: base/test/launcher/unit_test_launcher_ios.cc
|
| diff --git a/base/test/launcher/unit_test_launcher_ios.cc b/base/test/launcher/unit_test_launcher_ios.cc
|
| index ae08acd39a3373ca5e87afcf46ca33aa6ac9d85a..d4276c89bccf0e1e8c4de3898f9ffc73807d68fe 100644
|
| --- a/base/test/launcher/unit_test_launcher_ios.cc
|
| +++ b/base/test/launcher/unit_test_launcher_ios.cc
|
| @@ -4,13 +4,31 @@
|
|
|
| #include "base/test/launcher/unit_test_launcher.h"
|
|
|
| +#include "base/command_line.h"
|
| +#include "base/files/file_path.h"
|
| +#include "base/logging.h"
|
| +#include "base/test/gtest_util.h"
|
| +#include "base/test/test_switches.h"
|
| +
|
| namespace base {
|
|
|
| int LaunchUnitTests(int argc,
|
| char** argv,
|
| const RunTestSuiteCallback& run_test_suite) {
|
| - // Stub implementation - iOS doesn't support features we need for
|
| - // the full test launcher (e.g. process_util).
|
| + CHECK(CommandLine::InitializedForCurrentProcess() ||
|
| + CommandLine::Init(argc, argv));
|
| + const CommandLine* command_line = CommandLine::ForCurrentProcess();
|
| + if (command_line->HasSwitch(switches::kTestLauncherListTests)) {
|
| + FilePath list_path(command_line->GetSwitchValuePath(
|
| + switches::kTestLauncherListTests));
|
| + if (WriteCompiledInTestsToFile(list_path)) {
|
| + return 0;
|
| + } else {
|
| + LOG(ERROR) << "Failed to write list of tests.";
|
| + return 1;
|
| + }
|
| + }
|
| +
|
| return run_test_suite.Run();
|
| }
|
|
|
|
|