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

Unified Diff: base/task_scheduler/task_tracker_unittest.cc

Issue 2762703002: FOR REFERENCE ONLY Task Scheduler COM Task Runner (Closed)
Patch Set: 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
« no previous file with comments | « base/task_scheduler/task_tracker.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/task_scheduler/task_tracker_unittest.cc
diff --git a/base/task_scheduler/task_tracker_unittest.cc b/base/task_scheduler/task_tracker_unittest.cc
index 85378b6234afe6a9f0ff499e00c6e66ec4b402c9..6441125f3406db7e844e308a677ee095fd370ca6 100644
--- a/base/task_scheduler/task_tracker_unittest.cc
+++ b/base/task_scheduler/task_tracker_unittest.cc
@@ -889,6 +889,54 @@ TEST(TaskSchedulerTaskTrackerWaitAllowedTest, WaitAllowed) {
wait_allowed_test_thread.Join();
}
+namespace {
+
+struct TaskTraitHistogramPair {
+ TaskTraits traits;
+ const char* expected_histogram;
+
+ TaskTraitHistogramPair(const TaskTraits& traits_in,
+ const char* expected_histogram_in)
+ : traits(traits_in), expected_histogram(expected_histogram_in) {}
+};
+
+std::vector<TaskTraitHistogramPair> GenerateTaskTraitHistogramPairs() {
+ std::vector<TaskTraitHistogramPair> pairs;
+ pairs.emplace_back(TaskTraits().WithPriority(TaskPriority::BACKGROUND),
+ "TaskScheduler.TaskLatency.BackgroundTaskPriority");
+ pairs.emplace_back(
+ TaskTraits().WithPriority(TaskPriority::BACKGROUND).MayBlock(),
+ "TaskScheduler.TaskLatency.BackgroundTaskPriority.MayBlock");
+ pairs.emplace_back(
+ TaskTraits()
+ .WithPriority(TaskPriority::BACKGROUND)
+ .WithBaseSyncPrimitives(),
+ "TaskScheduler.TaskLatency.BackgroundTaskPriority.MayBlock");
+ pairs.emplace_back(TaskTraits().WithPriority(TaskPriority::USER_VISIBLE),
+ "TaskScheduler.TaskLatency.UserVisibleTaskPriority");
+ pairs.emplace_back(
+ TaskTraits().WithPriority(TaskPriority::USER_VISIBLE).MayBlock(),
+ "TaskScheduler.TaskLatency.UserVisibleTaskPriority.MayBlock");
+ pairs.emplace_back(
+ TaskTraits()
+ .WithPriority(TaskPriority::USER_VISIBLE)
+ .WithBaseSyncPrimitives(),
+ "TaskScheduler.TaskLatency.UserVisibleTaskPriority.MayBlock");
+ pairs.emplace_back(TaskTraits().WithPriority(TaskPriority::USER_BLOCKING),
+ "TaskScheduler.TaskLatency.UserBlockingTaskPriority");
+ pairs.emplace_back(
+ TaskTraits().WithPriority(TaskPriority::USER_BLOCKING).MayBlock(),
+ "TaskScheduler.TaskLatency.UserBlockingTaskPriority.MayBlock");
+ pairs.emplace_back(
+ TaskTraits()
+ .WithPriority(TaskPriority::USER_BLOCKING)
+ .WithBaseSyncPrimitives(),
+ "TaskScheduler.TaskLatency.UserBlockingTaskPriority.MayBlock");
+ return pairs;
+}
+
+} // namespace
+
// Verify that TaskScheduler.TaskLatency.* histograms are correctly recorded
// when a task runs.
TEST(TaskSchedulerTaskTrackerHistogramTest, TaskLatency) {
@@ -896,36 +944,7 @@ TEST(TaskSchedulerTaskTrackerHistogramTest, TaskLatency) {
TaskTracker tracker;
- struct {
- const TaskTraits traits;
- const char* const expected_histogram;
- } tests[] = {
- {TaskTraits().WithPriority(TaskPriority::BACKGROUND),
- "TaskScheduler.TaskLatency.BackgroundTaskPriority"},
- {TaskTraits().WithPriority(TaskPriority::BACKGROUND).MayBlock(),
- "TaskScheduler.TaskLatency.BackgroundTaskPriority.MayBlock"},
- {TaskTraits()
- .WithPriority(TaskPriority::BACKGROUND)
- .WithBaseSyncPrimitives(),
- "TaskScheduler.TaskLatency.BackgroundTaskPriority.MayBlock"},
- {TaskTraits().WithPriority(TaskPriority::USER_VISIBLE),
- "TaskScheduler.TaskLatency.UserVisibleTaskPriority"},
- {TaskTraits().WithPriority(TaskPriority::USER_VISIBLE).MayBlock(),
- "TaskScheduler.TaskLatency.UserVisibleTaskPriority.MayBlock"},
- {TaskTraits()
- .WithPriority(TaskPriority::USER_VISIBLE)
- .WithBaseSyncPrimitives(),
- "TaskScheduler.TaskLatency.UserVisibleTaskPriority.MayBlock"},
- {TaskTraits().WithPriority(TaskPriority::USER_BLOCKING),
- "TaskScheduler.TaskLatency.UserBlockingTaskPriority"},
- {TaskTraits().WithPriority(TaskPriority::USER_BLOCKING).MayBlock(),
- "TaskScheduler.TaskLatency.UserBlockingTaskPriority.MayBlock"},
- {TaskTraits()
- .WithPriority(TaskPriority::USER_BLOCKING)
- .WithBaseSyncPrimitives(),
- "TaskScheduler.TaskLatency.UserBlockingTaskPriority.MayBlock"}};
-
- for (const auto& test : tests) {
+ for (const auto& test : GenerateTaskTraitHistogramPairs()) {
auto task =
MakeUnique<Task>(FROM_HERE, Bind(&DoNothing), test.traits, TimeDelta());
ASSERT_TRUE(tracker.WillPostTask(task.get()));
@@ -936,5 +955,21 @@ TEST(TaskSchedulerTaskTrackerHistogramTest, TaskLatency) {
}
}
+TEST(TaskSchedulerTaskTrackerHistogramTest, TaskLatencyInternalOnly) {
+ auto statistics_recorder = StatisticsRecorder::CreateTemporaryForTesting();
+
+ TaskTracker tracker;
+
+ for (const auto& test : GenerateTaskTraitHistogramPairs()) {
+ auto task = MakeUnique<Task>(FROM_HERE, Bind(&DoNothing), test.traits,
+ TimeDelta(), Task::TaskType::INTERNAL);
+ ASSERT_TRUE(tracker.WillPostTask(task.get()));
+
+ HistogramTester tester;
+ EXPECT_TRUE(tracker.RunTask(std::move(task), SequenceToken::Create()));
+ tester.ExpectTotalCount(test.expected_histogram, 0);
+ }
+}
+
} // namespace internal
} // namespace base
« no previous file with comments | « base/task_scheduler/task_tracker.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698