| 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 761dcfdb9f9431e5242f7503cc2cd257d07c158f..9cd7d7127105ca900e33293f40ec0e9c86c7d9f9 100644
|
| --- a/base/test/launcher/unit_test_launcher.cc
|
| +++ b/base/test/launcher/unit_test_launcher.cc
|
| @@ -158,7 +158,7 @@ bool GetSwitchValueAsInt(const std::string& switch_name, int* result) {
|
|
|
| std::string switch_value =
|
| CommandLine::ForCurrentProcess()->GetSwitchValueASCII(switch_name);
|
| - if (!StringToInt(switch_value, result) || *result < 1) {
|
| + if (!StringToInt(switch_value, result) || *result < 0) {
|
| LOG(ERROR) << "Invalid value for " << switch_name << ": " << switch_value;
|
| return false;
|
| }
|
| @@ -168,6 +168,7 @@ bool GetSwitchValueAsInt(const std::string& switch_name, int* result) {
|
|
|
| int LaunchUnitTestsInternal(const RunTestSuiteCallback& run_test_suite,
|
| int default_jobs,
|
| + int default_batch_limit,
|
| bool use_job_objects,
|
| const Closure& gtest_init) {
|
| #if defined(OS_ANDROID)
|
| @@ -210,7 +211,7 @@ int LaunchUnitTestsInternal(const RunTestSuiteCallback& run_test_suite,
|
| gtest_init.Run();
|
| TestTimeouts::Initialize();
|
|
|
| - int batch_limit = kDefaultTestBatchLimit;
|
| + int batch_limit = default_batch_limit;
|
| if (!GetSwitchValueAsInt(switches::kTestLauncherBatchLimit, &batch_limit))
|
| return 1;
|
|
|
| @@ -435,16 +436,40 @@ int LaunchUnitTests(int argc,
|
| char** argv,
|
| const RunTestSuiteCallback& run_test_suite) {
|
| CommandLine::Init(argc, argv);
|
| - return LaunchUnitTestsInternal(run_test_suite, SysInfo::NumberOfProcessors(),
|
| - true, Bind(&InitGoogleTestChar, &argc, argv));
|
| + return LaunchUnitTestsInternal(
|
| + run_test_suite,
|
| + SysInfo::NumberOfProcessors(),
|
| + kDefaultTestBatchLimit,
|
| + true,
|
| + Bind(&InitGoogleTestChar, &argc, argv));
|
| }
|
|
|
| int LaunchUnitTestsSerially(int argc,
|
| char** argv,
|
| const RunTestSuiteCallback& run_test_suite) {
|
| CommandLine::Init(argc, argv);
|
| - return LaunchUnitTestsInternal(run_test_suite, 1, true,
|
| - Bind(&InitGoogleTestChar, &argc, argv));
|
| + return LaunchUnitTestsInternal(
|
| + run_test_suite,
|
| + 1,
|
| + kDefaultTestBatchLimit,
|
| + true,
|
| + Bind(&InitGoogleTestChar, &argc, argv));
|
| +}
|
| +
|
| +int LaunchUnitTestsWithOptions(
|
| + int argc,
|
| + char** argv,
|
| + int default_jobs,
|
| + int default_batch_limit,
|
| + bool use_job_objects,
|
| + const RunTestSuiteCallback& run_test_suite) {
|
| + CommandLine::Init(argc, argv);
|
| + return LaunchUnitTestsInternal(
|
| + run_test_suite,
|
| + default_jobs,
|
| + default_batch_limit,
|
| + use_job_objects,
|
| + Bind(&InitGoogleTestChar, &argc, argv));
|
| }
|
|
|
| #if defined(OS_WIN)
|
| @@ -454,9 +479,12 @@ int LaunchUnitTests(int argc,
|
| const RunTestSuiteCallback& run_test_suite) {
|
| // Windows CommandLine::Init ignores argv anyway.
|
| CommandLine::Init(argc, NULL);
|
| - return LaunchUnitTestsInternal(run_test_suite, SysInfo::NumberOfProcessors(),
|
| - use_job_objects,
|
| - Bind(&InitGoogleTestWChar, &argc, argv));
|
| + return LaunchUnitTestsInternal(
|
| + run_test_suite,
|
| + SysInfo::NumberOfProcessors(),
|
| + kDefaultTestBatchLimit,
|
| + use_job_objects,
|
| + Bind(&InitGoogleTestWChar, &argc, argv));
|
| }
|
| #endif // defined(OS_WIN)
|
|
|
|
|