Chromium Code Reviews| 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..631e6d2848b758480b9fd6f8139acf9ddbab1872 100644 |
| --- a/base/test/launcher/unit_test_launcher.cc |
| +++ b/base/test/launcher/unit_test_launcher.cc |
| @@ -113,9 +113,21 @@ class DefaultUnitTestPlatformDelegate : public UnitTestPlatformDelegate { |
| const base::FilePath& output_file) override { |
| CommandLine new_cmd_line(*CommandLine::ForCurrentProcess()); |
| + if (!temp_dir_.IsValid()) { |
|
sky
2015/10/29 17:32:34
nit: no {}. That said, I would likely move this in
Paweł Hajdan Jr.
2015/10/29 18:43:20
Done.
|
| + CHECK(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 +149,8 @@ class DefaultUnitTestPlatformDelegate : public UnitTestPlatformDelegate { |
| } |
| } |
| + ScopedTempDir temp_dir_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(DefaultUnitTestPlatformDelegate); |
| }; |