| Index: base/test/launcher/unit_test_launcher.cc
|
| diff --git a/base/test/launcher/unit_test_launcher.cc b/base/test/launcher/unit_test_launcher.cc
|
| index dc79f658aac5135691bc65a6c5c144e631f64e08..761dcfdb9f9431e5242f7503cc2cd257d07c158f 100644
|
| --- a/base/test/launcher/unit_test_launcher.cc
|
| +++ b/base/test/launcher/unit_test_launcher.cc
|
| @@ -113,9 +113,19 @@ class DefaultUnitTestPlatformDelegate : public UnitTestPlatformDelegate {
|
| const base::FilePath& output_file) override {
|
| CommandLine new_cmd_line(*CommandLine::ForCurrentProcess());
|
|
|
| + CHECK(temp_dir_.IsValid() || temp_dir_.CreateUniqueTempDir());
|
| + FilePath temp_file;
|
| + CHECK(CreateTemporaryFileInDir(temp_dir_.path(), &temp_file));
|
| + std::string long_flags(
|
| + std::string("--") + kGTestFilterFlag + "=" +
|
| + JoinString(test_names, ":"));
|
| + CHECK_EQ(static_cast<int>(long_flags.size()),
|
| + WriteFile(temp_file,
|
| + long_flags.data(),
|
| + static_cast<int>(long_flags.size())));
|
| +
|
| new_cmd_line.AppendSwitchPath(switches::kTestLauncherOutput, output_file);
|
| - new_cmd_line.AppendSwitchASCII(kGTestFilterFlag,
|
| - JoinString(test_names, ":"));
|
| + new_cmd_line.AppendSwitchPath(kGTestFlagfileFlag, temp_file);
|
| new_cmd_line.AppendSwitch(kSingleProcessTestsFlag);
|
|
|
| return new_cmd_line;
|
| @@ -137,6 +147,8 @@ class DefaultUnitTestPlatformDelegate : public UnitTestPlatformDelegate {
|
| }
|
| }
|
|
|
| + ScopedTempDir temp_dir_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(DefaultUnitTestPlatformDelegate);
|
| };
|
|
|
|
|