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

Unified Diff: third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler_unittest.cc

Issue 2741473002: [scheduler] Move TimeBudgetPool to a separate file. (Closed)
Patch Set: Addressed comments from skyostil@ Created 3 years, 9 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: third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler_unittest.cc
diff --git a/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler_unittest.cc b/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler_unittest.cc
index a884b48aeb81be63a156531fe1ce02754be0025a..e5747be75aa82507845db40e8ec06b6cb3c0c54b 100644
--- a/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler_unittest.cc
+++ b/third_party/WebKit/Source/platform/scheduler/renderer/task_queue_throttler_unittest.cc
@@ -18,6 +18,7 @@
#include "platform/scheduler/base/test_time_source.h"
#include "platform/scheduler/child/scheduler_tqm_delegate_for_test.h"
#include "platform/scheduler/renderer/auto_advancing_virtual_time_domain.h"
+#include "platform/scheduler/renderer/budget_pool.h"
#include "platform/scheduler/renderer/renderer_scheduler_impl.h"
#include "platform/scheduler/renderer/web_frame_scheduler_impl.h"
#include "platform/scheduler/renderer/web_view_scheduler_impl.h"
@@ -491,42 +492,6 @@ TEST_F(TaskQueueThrottlerTest, IncrementThenEnableVirtualTime) {
EXPECT_EQ(timer_queue_->GetTimeDomain(), scheduler_->GetVirtualTimeDomain());
}
-TEST_F(TaskQueueThrottlerTest, TimeBudgetPool) {
- TaskQueueThrottler::TimeBudgetPool* pool =
- task_queue_throttler_->CreateTimeBudgetPool("test", base::nullopt,
- base::nullopt);
-
- base::TimeTicks time_zero = clock_->NowTicks();
-
- pool->SetTimeBudgetRecoveryRate(time_zero, 0.1);
-
- EXPECT_TRUE(pool->HasEnoughBudgetToRun(time_zero));
- EXPECT_EQ(time_zero, pool->GetNextAllowedRunTime());
-
- // Run an expensive task and make sure that we're throttled.
- pool->RecordTaskRunTime(time_zero,
- time_zero + base::TimeDelta::FromMilliseconds(100));
-
- EXPECT_FALSE(pool->HasEnoughBudgetToRun(
- time_zero + base::TimeDelta::FromMilliseconds(500)));
- EXPECT_EQ(time_zero + base::TimeDelta::FromMilliseconds(1000),
- pool->GetNextAllowedRunTime());
- EXPECT_TRUE(pool->HasEnoughBudgetToRun(
- time_zero + base::TimeDelta::FromMilliseconds(1000)));
-
- // Run a cheap task and make sure that it doesn't affect anything.
- EXPECT_TRUE(pool->HasEnoughBudgetToRun(
- time_zero + base::TimeDelta::FromMilliseconds(2000)));
- pool->RecordTaskRunTime(time_zero + base::TimeDelta::FromMilliseconds(2000),
- time_zero + base::TimeDelta::FromMilliseconds(2020));
- EXPECT_TRUE(pool->HasEnoughBudgetToRun(
- time_zero + base::TimeDelta::FromMilliseconds(2020)));
- EXPECT_EQ(time_zero + base::TimeDelta::FromMilliseconds(2020),
- pool->GetNextAllowedRunTime());
-
- pool->Close();
-}
-
namespace {
void ExpensiveTestTask(std::vector<base::TimeTicks>* run_times,
@@ -540,9 +505,8 @@ void ExpensiveTestTask(std::vector<base::TimeTicks>* run_times,
TEST_F(TaskQueueThrottlerTest, TimeBasedThrottling) {
std::vector<base::TimeTicks> run_times;
- TaskQueueThrottler::TimeBudgetPool* pool =
- task_queue_throttler_->CreateTimeBudgetPool("test", base::nullopt,
- base::nullopt);
+ TimeBudgetPool* pool = task_queue_throttler_->CreateTimeBudgetPool(
+ "test", base::nullopt, base::nullopt);
pool->SetTimeBudgetRecoveryRate(base::TimeTicks(), 0.1);
pool->AddQueue(base::TimeTicks(), timer_queue_.get());
@@ -590,9 +554,8 @@ TEST_F(TaskQueueThrottlerTest, TimeBasedThrottling) {
TEST_F(TaskQueueThrottlerTest, EnableAndDisableTimeBudgetPool) {
std::vector<base::TimeTicks> run_times;
- TaskQueueThrottler::TimeBudgetPool* pool =
- task_queue_throttler_->CreateTimeBudgetPool("test", base::nullopt,
- base::nullopt);
+ TimeBudgetPool* pool = task_queue_throttler_->CreateTimeBudgetPool(
+ "test", base::nullopt, base::nullopt);
EXPECT_TRUE(pool->IsThrottlingEnabled());
pool->SetTimeBudgetRecoveryRate(base::TimeTicks(), 0.1);
@@ -651,9 +614,8 @@ TEST_F(TaskQueueThrottlerTest, EnableAndDisableTimeBudgetPool) {
TEST_F(TaskQueueThrottlerTest, ImmediateTasksTimeBudgetThrottling) {
std::vector<base::TimeTicks> run_times;
- TaskQueueThrottler::TimeBudgetPool* pool =
- task_queue_throttler_->CreateTimeBudgetPool("test", base::nullopt,
- base::nullopt);
+ TimeBudgetPool* pool = task_queue_throttler_->CreateTimeBudgetPool(
+ "test", base::nullopt, base::nullopt);
pool->SetTimeBudgetRecoveryRate(base::TimeTicks(), 0.1);
pool->AddQueue(base::TimeTicks(), timer_queue_.get());
@@ -700,9 +662,8 @@ TEST_F(TaskQueueThrottlerTest, TwoQueuesTimeBudgetThrottling) {
scoped_refptr<TaskQueue> second_queue =
scheduler_->NewTimerTaskRunner(TaskQueue::QueueType::TEST);
- TaskQueueThrottler::TimeBudgetPool* pool =
- task_queue_throttler_->CreateTimeBudgetPool("test", base::nullopt,
- base::nullopt);
+ TimeBudgetPool* pool = task_queue_throttler_->CreateTimeBudgetPool(
+ "test", base::nullopt, base::nullopt);
pool->SetTimeBudgetRecoveryRate(base::TimeTicks(), 0.1);
pool->AddQueue(base::TimeTicks(), timer_queue_.get());
@@ -735,9 +696,8 @@ TEST_F(TaskQueueThrottlerTest, DisabledTimeBudgetDoesNotAffectThrottledQueues) {
std::vector<base::TimeTicks> run_times;
LazyNow lazy_now(clock_.get());
- TaskQueueThrottler::TimeBudgetPool* pool =
- task_queue_throttler_->CreateTimeBudgetPool("test", base::nullopt,
- base::nullopt);
+ TimeBudgetPool* pool = task_queue_throttler_->CreateTimeBudgetPool(
+ "test", base::nullopt, base::nullopt);
pool->SetTimeBudgetRecoveryRate(lazy_now.Now(), 0.1);
pool->DisableThrottling(&lazy_now);
@@ -764,9 +724,8 @@ TEST_F(TaskQueueThrottlerTest,
TimeBudgetThrottlingDoesNotAffectUnthrottledQueues) {
std::vector<base::TimeTicks> run_times;
- TaskQueueThrottler::TimeBudgetPool* pool =
- task_queue_throttler_->CreateTimeBudgetPool("test", base::nullopt,
- base::nullopt);
+ TimeBudgetPool* pool = task_queue_throttler_->CreateTimeBudgetPool(
+ "test", base::nullopt, base::nullopt);
pool->SetTimeBudgetRecoveryRate(base::TimeTicks(), 0.1);
LazyNow lazy_now(clock_.get());
@@ -792,9 +751,8 @@ TEST_F(TaskQueueThrottlerTest,
TEST_F(TaskQueueThrottlerTest, MaxThrottlingDuration) {
std::vector<base::TimeTicks> run_times;
- TaskQueueThrottler::TimeBudgetPool* pool =
- task_queue_throttler_->CreateTimeBudgetPool(
- "test", base::nullopt, base::TimeDelta::FromMinutes(1));
+ TimeBudgetPool* pool = task_queue_throttler_->CreateTimeBudgetPool(
+ "test", base::nullopt, base::TimeDelta::FromMinutes(1));
pool->SetTimeBudgetRecoveryRate(base::TimeTicks(), 0.001);
pool->AddQueue(base::TimeTicks(), timer_queue_.get());
@@ -893,9 +851,8 @@ TEST_F(TaskQueueThrottlerTest, ReportThrottling) {
std::vector<base::TimeTicks> run_times;
std::vector<base::TimeDelta> reported_throttling_times;
- TaskQueueThrottler::TimeBudgetPool* pool =
- task_queue_throttler_->CreateTimeBudgetPool("test", base::nullopt,
- base::nullopt);
+ TimeBudgetPool* pool = task_queue_throttler_->CreateTimeBudgetPool(
+ "test", base::nullopt, base::nullopt);
pool->SetTimeBudgetRecoveryRate(base::TimeTicks(), 0.1);
pool->AddQueue(base::TimeTicks(), timer_queue_.get());
@@ -934,9 +891,8 @@ TEST_F(TaskQueueThrottlerTest, ReportThrottling) {
TEST_F(TaskQueueThrottlerTest, GrantAdditionalBudget) {
std::vector<base::TimeTicks> run_times;
- TaskQueueThrottler::TimeBudgetPool* pool =
- task_queue_throttler_->CreateTimeBudgetPool("test", base::nullopt,
- base::nullopt);
+ TimeBudgetPool* pool = task_queue_throttler_->CreateTimeBudgetPool(
+ "test", base::nullopt, base::nullopt);
pool->SetTimeBudgetRecoveryRate(base::TimeTicks(), 0.1);
pool->AddQueue(base::TimeTicks(), timer_queue_.get());
@@ -975,9 +931,8 @@ TEST_F(TaskQueueThrottlerTest, EnableAndDisableThrottlingAndTimeBudgets) {
task_queue_throttler_->DisableThrottling();
- TaskQueueThrottler::TimeBudgetPool* pool =
- task_queue_throttler_->CreateTimeBudgetPool("test", base::nullopt,
- base::nullopt);
+ TimeBudgetPool* pool = task_queue_throttler_->CreateTimeBudgetPool(
+ "test", base::nullopt, base::nullopt);
task_queue_throttler_->IncreaseThrottleRefCount(timer_queue_.get());
LazyNow lazy_now(clock_.get());
@@ -1008,9 +963,8 @@ TEST_F(TaskQueueThrottlerTest, AddQueueToBudgetPoolWhenThrottlingDisabled) {
task_queue_throttler_->DisableThrottling();
- TaskQueueThrottler::TimeBudgetPool* pool =
- task_queue_throttler_->CreateTimeBudgetPool("test", base::nullopt,
- base::nullopt);
+ TimeBudgetPool* pool = task_queue_throttler_->CreateTimeBudgetPool(
+ "test", base::nullopt, base::nullopt);
task_queue_throttler_->IncreaseThrottleRefCount(timer_queue_.get());
mock_task_runner_->RunUntilTime(base::TimeTicks() +

Powered by Google App Engine
This is Rietveld 408576698