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

Side by Side Diff: base/task_scheduler/task_traits_unittest.cc

Issue 2873453002: Add base::TaskTraits::Override(). (Closed)
Patch Set: self-review Created 3 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/task_scheduler/task_traits.h" 5 #include "base/task_scheduler/task_traits.h"
6 6
7 #include "testing/gtest/include/gtest/gtest.h" 7 #include "testing/gtest/include/gtest/gtest.h"
8 8
9 namespace base { 9 namespace base {
10 10
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 constexpr TaskTraits traits_copy(traits); 71 constexpr TaskTraits traits_copy(traits);
72 EXPECT_EQ(traits.priority_set_explicitly(), 72 EXPECT_EQ(traits.priority_set_explicitly(),
73 traits_copy.priority_set_explicitly()); 73 traits_copy.priority_set_explicitly());
74 EXPECT_EQ(traits.priority(), traits_copy.priority()); 74 EXPECT_EQ(traits.priority(), traits_copy.priority());
75 EXPECT_EQ(traits.shutdown_behavior(), traits_copy.shutdown_behavior()); 75 EXPECT_EQ(traits.shutdown_behavior(), traits_copy.shutdown_behavior());
76 EXPECT_EQ(traits.may_block(), traits_copy.may_block()); 76 EXPECT_EQ(traits.may_block(), traits_copy.may_block());
77 EXPECT_EQ(traits.with_base_sync_primitives(), 77 EXPECT_EQ(traits.with_base_sync_primitives(),
78 traits_copy.with_base_sync_primitives()); 78 traits_copy.with_base_sync_primitives());
79 } 79 }
80 80
81 TEST(TaskSchedulerTaskTraitsTest, MergePriority) {
gab 2017/05/09 14:32:31 Rename tests to "Override" too.
fdoray 2017/05/09 14:58:33 Done.
82 constexpr TaskTraits left = {TaskPriority::BACKGROUND};
83 constexpr TaskTraits right = {TaskPriority::USER_BLOCKING};
84 constexpr TaskTraits merged = TaskTraits::Merge(left, right);
85 EXPECT_TRUE(merged.priority_set_explicitly());
86 EXPECT_EQ(TaskPriority::USER_BLOCKING, merged.priority());
87 EXPECT_EQ(TaskShutdownBehavior::SKIP_ON_SHUTDOWN, merged.shutdown_behavior());
gab 2017/05/09 14:32:31 EXPECT_FALSE(shutdown_behavior_set_explitly) also
fdoray 2017/05/09 14:58:34 Done.
88 EXPECT_FALSE(merged.may_block());
89 EXPECT_FALSE(merged.with_base_sync_primitives());
90 }
91
92 TEST(TaskSchedulerTaskTraitsTest, MergeShutdownBehavior) {
93 constexpr TaskTraits left = {TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN};
94 constexpr TaskTraits right = {TaskShutdownBehavior::BLOCK_SHUTDOWN};
95 constexpr TaskTraits merged = TaskTraits::Merge(left, right);
96 EXPECT_FALSE(merged.priority_set_explicitly());
97 EXPECT_EQ(TaskPriority::USER_VISIBLE, merged.priority());
98 EXPECT_EQ(TaskShutdownBehavior::BLOCK_SHUTDOWN, merged.shutdown_behavior());
99 EXPECT_FALSE(merged.may_block());
100 EXPECT_FALSE(merged.with_base_sync_primitives());
101 }
102
103 TEST(TaskSchedulerTaskTraitsTest, MergeMayBlock) {
104 {
105 constexpr TaskTraits left = {MayBlock()};
106 constexpr TaskTraits right = {};
107 constexpr TaskTraits merged = TaskTraits::Merge(left, right);
108 EXPECT_FALSE(merged.priority_set_explicitly());
109 EXPECT_EQ(TaskPriority::USER_VISIBLE, merged.priority());
110 EXPECT_EQ(TaskShutdownBehavior::SKIP_ON_SHUTDOWN,
111 merged.shutdown_behavior());
112 EXPECT_TRUE(merged.may_block());
113 EXPECT_FALSE(merged.with_base_sync_primitives());
114 }
115 {
116 constexpr TaskTraits left = {};
117 constexpr TaskTraits right = {MayBlock()};
118 constexpr TaskTraits merged = TaskTraits::Merge(left, right);
119 EXPECT_FALSE(merged.priority_set_explicitly());
120 EXPECT_EQ(TaskPriority::USER_VISIBLE, merged.priority());
121 EXPECT_EQ(TaskShutdownBehavior::SKIP_ON_SHUTDOWN,
122 merged.shutdown_behavior());
123 EXPECT_TRUE(merged.may_block());
124 EXPECT_FALSE(merged.with_base_sync_primitives());
125 }
126 }
127
128 TEST(TaskSchedulerTaskTraitsTest, MergeWithBaseSyncPrimitives) {
129 {
130 constexpr TaskTraits left = {WithBaseSyncPrimitives()};
131 constexpr TaskTraits right = {};
132 constexpr TaskTraits merged = TaskTraits::Merge(left, right);
133 EXPECT_FALSE(merged.priority_set_explicitly());
134 EXPECT_EQ(TaskPriority::USER_VISIBLE, merged.priority());
135 EXPECT_EQ(TaskShutdownBehavior::SKIP_ON_SHUTDOWN,
136 merged.shutdown_behavior());
137 EXPECT_FALSE(merged.may_block());
138 EXPECT_TRUE(merged.with_base_sync_primitives());
139 }
140 {
141 constexpr TaskTraits left = {};
142 constexpr TaskTraits right = {WithBaseSyncPrimitives()};
143 constexpr TaskTraits merged = TaskTraits::Merge(left, right);
144 EXPECT_FALSE(merged.priority_set_explicitly());
145 EXPECT_EQ(TaskPriority::USER_VISIBLE, merged.priority());
146 EXPECT_EQ(TaskShutdownBehavior::SKIP_ON_SHUTDOWN,
147 merged.shutdown_behavior());
148 EXPECT_FALSE(merged.may_block());
149 EXPECT_TRUE(merged.with_base_sync_primitives());
150 }
151 }
gab 2017/05/09 14:32:31 Also test a big override of all values with some o
fdoray 2017/05/09 14:58:33 Done.
152
81 } // namespace base 153 } // namespace base
OLDNEW
« base/task_scheduler/task_traits.h ('K') | « base/task_scheduler/task_traits.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698