Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(481)

Unified Diff: components/task_scheduler_util/common/variations_util_unittest.cc

Issue 2788223002: Generate TaskScheduler::InitParams from components/task_scheduler_util/. (Closed)
Patch Set: fix-build-error Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/task_scheduler_util/common/variations_util_unittest.cc
diff --git a/components/task_scheduler_util/common/variations_util_unittest.cc b/components/task_scheduler_util/common/variations_util_unittest.cc
index 5618106542a59be20d9c83f0511e1267b1f1acdd..d5612f7a0113dd62b3686e678a9c85eb42adeb08 100644
--- a/components/task_scheduler_util/common/variations_util_unittest.cc
+++ b/components/task_scheduler_util/common/variations_util_unittest.cc
@@ -14,7 +14,6 @@
#include "base/metrics/field_trial.h"
#include "base/task_scheduler/scheduler_worker_params.h"
#include "base/task_scheduler/scheduler_worker_pool_params.h"
-#include "base/threading/platform_thread.h"
#include "components/variations/variations_associated_data.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -24,7 +23,7 @@ namespace {
using StandbyThreadPolicy =
base::SchedulerWorkerPoolParams::StandbyThreadPolicy;
-using ThreadPriority = base::ThreadPriority;
+using SchedulerBackwardCompatibility = base::SchedulerBackwardCompatibility;
#if !defined(OS_IOS)
constexpr char kFieldTrialName[] = "BrowserScheduler";
@@ -33,20 +32,6 @@ constexpr char kTaskSchedulerVariationParamsSwitch[] =
"task-scheduler-variation-params";
#endif // !defined(OS_IOS)
-std::vector<SchedulerImmutableWorkerPoolParams> GetImmutableWorkerPoolParams() {
- std::vector<SchedulerImmutableWorkerPoolParams> constant_worker_pool_params;
- constant_worker_pool_params.emplace_back("Background",
- ThreadPriority::BACKGROUND);
- constant_worker_pool_params.emplace_back("BackgroundFileIO",
- ThreadPriority::BACKGROUND);
- constant_worker_pool_params.emplace_back("Foreground",
- ThreadPriority::NORMAL);
- constant_worker_pool_params.emplace_back(
- "ForegroundFileIO", ThreadPriority::NORMAL,
- base::SchedulerBackwardCompatibility::INIT_COM_STA);
- return constant_worker_pool_params;
-}
-
class TaskSchedulerUtilVariationsUtilTest : public testing::Test {
public:
TaskSchedulerUtilVariationsUtilTest() : field_trial_list_(nullptr) {}
@@ -67,128 +52,172 @@ class TaskSchedulerUtilVariationsUtilTest : public testing::Test {
TEST_F(TaskSchedulerUtilVariationsUtilTest, OrderingParams5) {
std::map<std::string, std::string> variation_params;
- variation_params["Background"] = "1;1;1;0;42";
- variation_params["BackgroundFileIO"] = "2;2;1;0;52";
- variation_params["Foreground"] = "4;4;1;0;62";
- variation_params["ForegroundFileIO"] = "8;8;1;0;72";
-
- auto params_vector =
- GetWorkerPoolParams(GetImmutableWorkerPoolParams(), variation_params);
- ASSERT_EQ(4U, params_vector.size());
-
- EXPECT_EQ("Background", params_vector[0].name());
- EXPECT_EQ(ThreadPriority::BACKGROUND, params_vector[0].priority_hint());
- EXPECT_EQ(StandbyThreadPolicy::ONE, params_vector[0].standby_thread_policy());
- EXPECT_EQ(1U, params_vector[0].max_threads());
- EXPECT_EQ(base::TimeDelta::FromMilliseconds(42),
- params_vector[0].suggested_reclaim_time());
- EXPECT_EQ(base::SchedulerBackwardCompatibility::DISABLED,
- params_vector[0].backward_compatibility());
+ variation_params["RendererBackground"] = "1;1;1;0;42";
+ variation_params["RendererBackgroundBlocking"] = "2;2;1;0;52";
+ variation_params["RendererForeground"] = "4;4;1;0;62";
+ variation_params["RendererForegroundBlocking"] = "8;8;1;0;72";
- EXPECT_EQ("BackgroundFileIO", params_vector[1].name());
- EXPECT_EQ(ThreadPriority::BACKGROUND, params_vector[1].priority_hint());
- EXPECT_EQ(StandbyThreadPolicy::ONE, params_vector[1].standby_thread_policy());
- EXPECT_EQ(2U, params_vector[1].max_threads());
+ auto init_params = GetTaskSchedulerInitParams(
+ "Renderer", variation_params,
+ base::SchedulerBackwardCompatibility::INIT_COM_STA);
+ ASSERT_TRUE(init_params);
+
+ EXPECT_EQ(StandbyThreadPolicy::ONE,
+ init_params->background_worker_pool_params.standby_thread_policy());
+ EXPECT_EQ(1, init_params->background_worker_pool_params.max_threads());
+ EXPECT_EQ(
+ base::TimeDelta::FromMilliseconds(42),
+ init_params->background_worker_pool_params.suggested_reclaim_time());
+ EXPECT_EQ(
+ base::SchedulerBackwardCompatibility::DISABLED,
+ init_params->background_worker_pool_params.backward_compatibility());
+
+ EXPECT_EQ(StandbyThreadPolicy::ONE,
+ init_params->background_blocking_worker_pool_params
+ .standby_thread_policy());
+ EXPECT_EQ(2,
+ init_params->background_blocking_worker_pool_params.max_threads());
EXPECT_EQ(base::TimeDelta::FromMilliseconds(52),
- params_vector[1].suggested_reclaim_time());
- EXPECT_EQ(base::SchedulerBackwardCompatibility::DISABLED,
- params_vector[1].backward_compatibility());
-
- EXPECT_EQ("Foreground", params_vector[2].name());
- EXPECT_EQ(ThreadPriority::NORMAL, params_vector[2].priority_hint());
- EXPECT_EQ(StandbyThreadPolicy::ONE, params_vector[2].standby_thread_policy());
- EXPECT_EQ(4U, params_vector[2].max_threads());
- EXPECT_EQ(base::TimeDelta::FromMilliseconds(62),
- params_vector[2].suggested_reclaim_time());
+ init_params->background_blocking_worker_pool_params
+ .suggested_reclaim_time());
EXPECT_EQ(base::SchedulerBackwardCompatibility::DISABLED,
- params_vector[2].backward_compatibility());
-
- EXPECT_EQ("ForegroundFileIO", params_vector[3].name());
- EXPECT_EQ(ThreadPriority::NORMAL, params_vector[3].priority_hint());
- EXPECT_EQ(StandbyThreadPolicy::ONE, params_vector[3].standby_thread_policy());
- EXPECT_EQ(8U, params_vector[3].max_threads());
+ init_params->background_blocking_worker_pool_params
+ .backward_compatibility());
+
+ EXPECT_EQ(StandbyThreadPolicy::ONE,
+ init_params->foreground_worker_pool_params.standby_thread_policy());
+ EXPECT_EQ(4, init_params->foreground_worker_pool_params.max_threads());
+ EXPECT_EQ(
+ base::TimeDelta::FromMilliseconds(62),
+ init_params->foreground_worker_pool_params.suggested_reclaim_time());
+ EXPECT_EQ(
+ base::SchedulerBackwardCompatibility::DISABLED,
+ init_params->foreground_worker_pool_params.backward_compatibility());
+
+ EXPECT_EQ(StandbyThreadPolicy::ONE,
+ init_params->foreground_blocking_worker_pool_params
+ .standby_thread_policy());
+ EXPECT_EQ(8,
+ init_params->foreground_blocking_worker_pool_params.max_threads());
EXPECT_EQ(base::TimeDelta::FromMilliseconds(72),
- params_vector[3].suggested_reclaim_time());
+ init_params->foreground_blocking_worker_pool_params
+ .suggested_reclaim_time());
EXPECT_EQ(base::SchedulerBackwardCompatibility::INIT_COM_STA,
- params_vector[3].backward_compatibility());
+ init_params->foreground_blocking_worker_pool_params
+ .backward_compatibility());
}
TEST_F(TaskSchedulerUtilVariationsUtilTest, OrderingParams6) {
std::map<std::string, std::string> variation_params;
- variation_params["Background"] = "1;1;1;0;42;lazy";
- variation_params["BackgroundFileIO"] = "2;2;1;0;52;one";
- variation_params["Foreground"] = "4;4;1;0;62;lazy";
- variation_params["ForegroundFileIO"] = "8;8;1;0;72;one";
+ variation_params["RendererBackground"] = "1;1;1;0;42;lazy";
+ variation_params["RendererBackgroundBlocking"] = "2;2;1;0;52;one";
+ variation_params["RendererForeground"] = "4;4;1;0;62;lazy";
+ variation_params["RendererForegroundBlocking"] = "8;8;1;0;72;one";
- auto params_vector =
- GetWorkerPoolParams(GetImmutableWorkerPoolParams(), variation_params);
- ASSERT_EQ(4U, params_vector.size());
+ auto init_params = GetTaskSchedulerInitParams(
+ "Renderer", variation_params,
+ base::SchedulerBackwardCompatibility::INIT_COM_STA);
+ ASSERT_TRUE(init_params);
- EXPECT_EQ("Background", params_vector[0].name());
- EXPECT_EQ(ThreadPriority::BACKGROUND, params_vector[0].priority_hint());
EXPECT_EQ(StandbyThreadPolicy::LAZY,
- params_vector[0].standby_thread_policy());
- EXPECT_EQ(1U, params_vector[0].max_threads());
- EXPECT_EQ(base::TimeDelta::FromMilliseconds(42),
- params_vector[0].suggested_reclaim_time());
- EXPECT_EQ(base::SchedulerBackwardCompatibility::DISABLED,
- params_vector[0].backward_compatibility());
-
- EXPECT_EQ("BackgroundFileIO", params_vector[1].name());
- EXPECT_EQ(ThreadPriority::BACKGROUND, params_vector[1].priority_hint());
- EXPECT_EQ(StandbyThreadPolicy::ONE, params_vector[1].standby_thread_policy());
- EXPECT_EQ(2U, params_vector[1].max_threads());
+ init_params->background_worker_pool_params.standby_thread_policy());
+ EXPECT_EQ(1, init_params->background_worker_pool_params.max_threads());
+ EXPECT_EQ(
+ base::TimeDelta::FromMilliseconds(42),
+ init_params->background_worker_pool_params.suggested_reclaim_time());
+ EXPECT_EQ(
+ base::SchedulerBackwardCompatibility::DISABLED,
+ init_params->background_worker_pool_params.backward_compatibility());
+
+ EXPECT_EQ(StandbyThreadPolicy::ONE,
+ init_params->background_blocking_worker_pool_params
+ .standby_thread_policy());
+ EXPECT_EQ(2,
+ init_params->background_blocking_worker_pool_params.max_threads());
EXPECT_EQ(base::TimeDelta::FromMilliseconds(52),
- params_vector[1].suggested_reclaim_time());
+ init_params->background_blocking_worker_pool_params
+ .suggested_reclaim_time());
EXPECT_EQ(base::SchedulerBackwardCompatibility::DISABLED,
- params_vector[1].backward_compatibility());
+ init_params->background_blocking_worker_pool_params
+ .backward_compatibility());
- EXPECT_EQ("Foreground", params_vector[2].name());
- EXPECT_EQ(ThreadPriority::NORMAL, params_vector[2].priority_hint());
EXPECT_EQ(StandbyThreadPolicy::LAZY,
- params_vector[2].standby_thread_policy());
- EXPECT_EQ(4U, params_vector[2].max_threads());
- EXPECT_EQ(base::TimeDelta::FromMilliseconds(62),
- params_vector[2].suggested_reclaim_time());
- EXPECT_EQ(base::SchedulerBackwardCompatibility::DISABLED,
- params_vector[2].backward_compatibility());
-
- EXPECT_EQ("ForegroundFileIO", params_vector[3].name());
- EXPECT_EQ(ThreadPriority::NORMAL, params_vector[3].priority_hint());
- EXPECT_EQ(StandbyThreadPolicy::ONE, params_vector[3].standby_thread_policy());
- EXPECT_EQ(8U, params_vector[3].max_threads());
+ init_params->foreground_worker_pool_params.standby_thread_policy());
+ EXPECT_EQ(4, init_params->foreground_worker_pool_params.max_threads());
+ EXPECT_EQ(
+ base::TimeDelta::FromMilliseconds(62),
+ init_params->foreground_worker_pool_params.suggested_reclaim_time());
+ EXPECT_EQ(
+ base::SchedulerBackwardCompatibility::DISABLED,
+ init_params->foreground_worker_pool_params.backward_compatibility());
+
+ EXPECT_EQ(StandbyThreadPolicy::ONE,
+ init_params->foreground_blocking_worker_pool_params
+ .standby_thread_policy());
+ EXPECT_EQ(8,
+ init_params->foreground_blocking_worker_pool_params.max_threads());
EXPECT_EQ(base::TimeDelta::FromMilliseconds(72),
- params_vector[3].suggested_reclaim_time());
+ init_params->foreground_blocking_worker_pool_params
+ .suggested_reclaim_time());
EXPECT_EQ(base::SchedulerBackwardCompatibility::INIT_COM_STA,
- params_vector[3].backward_compatibility());
+ init_params->foreground_blocking_worker_pool_params
+ .backward_compatibility());
}
TEST_F(TaskSchedulerUtilVariationsUtilTest, NoData) {
- EXPECT_TRUE(GetWorkerPoolParams(GetImmutableWorkerPoolParams(),
- std::map<std::string, std::string>())
- .empty());
+ EXPECT_FALSE(GetTaskSchedulerInitParams(
+ "Renderer", std::map<std::string, std::string>()));
}
TEST_F(TaskSchedulerUtilVariationsUtilTest, IncompleteParameters) {
std::map<std::string, std::string> variation_params;
- variation_params["Background"] = "1;1;1;0";
- variation_params["BackgroundFileIO"] = "2;2;1;0";
- variation_params["Foreground"] = "4;4;1;0";
- variation_params["ForegroundFileIO"] = "8;8;1;0";
- EXPECT_TRUE(
- GetWorkerPoolParams(GetImmutableWorkerPoolParams(), variation_params)
- .empty());
+ variation_params["RendererBackground"] = "1;1;1;0";
+ variation_params["RendererBackgroundBlocking"] = "2;2;1;0";
+ variation_params["RendererForeground"] = "4;4;1;0";
+ variation_params["RendererForegroundBlocking"] = "8;8;1;0";
+ EXPECT_FALSE(GetTaskSchedulerInitParams("Renderer", variation_params));
}
-TEST_F(TaskSchedulerUtilVariationsUtilTest, InvalidParameters) {
+TEST_F(TaskSchedulerUtilVariationsUtilTest, InvalidParametersFormat) {
std::map<std::string, std::string> variation_params;
- variation_params["Background"] = "a;b;c;d;e";
- variation_params["BackgroundFileIO"] = "a;b;c;d;e";
- variation_params["Foreground"] = "a;b;c;d;e";
- variation_params["ForegroundFileIO"] = "a;b;c;d;e";
- EXPECT_TRUE(
- GetWorkerPoolParams(GetImmutableWorkerPoolParams(), variation_params)
- .empty());
+ variation_params["RendererBackground"] = "a;b;c;d;e";
+ variation_params["RendererBackgroundBlocking"] = "a;b;c;d;e";
+ variation_params["RendererForeground"] = "a;b;c;d;e";
+ variation_params["RendererForegroundBlocking"] = "a;b;c;d;e";
+ EXPECT_FALSE(GetTaskSchedulerInitParams("Renderer", variation_params));
+}
+
+TEST_F(TaskSchedulerUtilVariationsUtilTest, ZeroMaxThreads) {
+ // The Background pool has a maximum number of threads equal to zero, which is
+ // invalid.
+ std::map<std::string, std::string> variation_params;
+ variation_params["RendererBackground"] = "0;0;0;0;0;lazy";
+ variation_params["RendererBackgroundBlocking"] = "2;2;1;0;52;one";
+ variation_params["RendererForeground"] = "4;4;1;0;62;lazy";
+ variation_params["RendererForegroundBlocking"] = "8;8;1;0;72;one";
+ EXPECT_FALSE(GetTaskSchedulerInitParams("Renderer", variation_params));
+}
+
+TEST_F(TaskSchedulerUtilVariationsUtilTest, NegativeMaxThreads) {
+ // The Background pool has a negative maximum number of threads, which is
+ // invalid.
+ std::map<std::string, std::string> variation_params;
+ variation_params["RendererBackground"] = "-5;-5;0;0;0;lazy";
+ variation_params["RendererBackgroundBlocking"] = "2;2;1;0;52;one";
+ variation_params["RendererForeground"] = "4;4;1;0;62;lazy";
+ variation_params["RendererForegroundBlocking"] = "8;8;1;0;72;one";
+ EXPECT_FALSE(GetTaskSchedulerInitParams("Renderer", variation_params));
+}
+
+TEST_F(TaskSchedulerUtilVariationsUtilTest, NegativeSuggestedReclaimTime) {
+ // The Background pool has a negative suggested reclaim time, which is
+ // invalid.
+ std::map<std::string, std::string> variation_params;
+ variation_params["RendererBackground"] = "1;1;1;0;-5;lazy";
+ variation_params["RendererBackgroundBlocking"] = "2;2;1;0;52;one";
+ variation_params["RendererForeground"] = "4;4;1;0;62;lazy";
+ variation_params["RendererForegroundBlocking"] = "8;8;1;0;72;one";
+ EXPECT_FALSE(GetTaskSchedulerInitParams("Renderer", variation_params));
}
#if !defined(OS_IOS)
« no previous file with comments | « components/task_scheduler_util/common/variations_util.cc ('k') | components/task_scheduler_util/renderer/initialization.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698