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

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

Issue 2785943004: DCHECK tasks posted by TaskRunner::PostTask (Closed)
Patch Set: fix 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 unified diff | Download patch
« no previous file with comments | « base/task_scheduler/sequence.cc ('k') | base/threading/sequenced_worker_pool.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/sequence.h" 5 #include "base/task_scheduler/sequence.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h"
10 #include "base/macros.h" 11 #include "base/macros.h"
11 #include "base/memory/ptr_util.h" 12 #include "base/memory/ptr_util.h"
12 #include "base/test/gtest_util.h" 13 #include "base/test/gtest_util.h"
13 #include "base/time/time.h" 14 #include "base/time/time.h"
14 #include "testing/gtest/include/gtest/gtest.h" 15 #include "testing/gtest/include/gtest/gtest.h"
15 16
16 namespace base { 17 namespace base {
17 namespace internal { 18 namespace internal {
18 19
19 namespace { 20 namespace {
20 21
21 22
22 class TaskSchedulerSequenceTest : public testing::Test { 23 class TaskSchedulerSequenceTest : public testing::Test {
23 public: 24 public:
24 TaskSchedulerSequenceTest() 25 TaskSchedulerSequenceTest()
25 : task_a_owned_( 26 : task_a_owned_(
26 new Task(FROM_HERE, 27 new Task(FROM_HERE,
27 Closure(), 28 Bind(&DoNothing),
28 TaskTraits().WithPriority(TaskPriority::BACKGROUND), 29 TaskTraits().WithPriority(TaskPriority::BACKGROUND),
29 TimeDelta())), 30 TimeDelta())),
30 task_b_owned_( 31 task_b_owned_(
31 new Task(FROM_HERE, 32 new Task(FROM_HERE,
32 Closure(), 33 Bind(&DoNothing),
33 TaskTraits().WithPriority(TaskPriority::USER_VISIBLE), 34 TaskTraits().WithPriority(TaskPriority::USER_VISIBLE),
34 TimeDelta())), 35 TimeDelta())),
35 task_c_owned_( 36 task_c_owned_(
36 new Task(FROM_HERE, 37 new Task(FROM_HERE,
37 Closure(), 38 Bind(&DoNothing),
38 TaskTraits().WithPriority(TaskPriority::USER_BLOCKING), 39 TaskTraits().WithPriority(TaskPriority::USER_BLOCKING),
39 TimeDelta())), 40 TimeDelta())),
40 task_d_owned_( 41 task_d_owned_(
41 new Task(FROM_HERE, 42 new Task(FROM_HERE,
42 Closure(), 43 Bind(&DoNothing),
43 TaskTraits().WithPriority(TaskPriority::USER_BLOCKING), 44 TaskTraits().WithPriority(TaskPriority::USER_BLOCKING),
44 TimeDelta())), 45 TimeDelta())),
45 task_e_owned_( 46 task_e_owned_(
46 new Task(FROM_HERE, 47 new Task(FROM_HERE,
47 Closure(), 48 Bind(&DoNothing),
48 TaskTraits().WithPriority(TaskPriority::BACKGROUND), 49 TaskTraits().WithPriority(TaskPriority::BACKGROUND),
49 TimeDelta())), 50 TimeDelta())),
50 task_a_(task_a_owned_.get()), 51 task_a_(task_a_owned_.get()),
51 task_b_(task_b_owned_.get()), 52 task_b_(task_b_owned_.get()),
52 task_c_(task_c_owned_.get()), 53 task_c_(task_c_owned_.get()),
53 task_d_(task_d_owned_.get()), 54 task_d_(task_d_owned_.get()),
54 task_e_(task_e_owned_.get()) {} 55 task_e_(task_e_owned_.get()) {}
55 56
56 protected: 57 protected:
57 // Tasks to be handed off to a Sequence for testing. 58 // Tasks to be handed off to a Sequence for testing.
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 } 218 }
218 219
219 // Verify that a DCHECK fires if TakeTask() is called on an empty sequence. 220 // Verify that a DCHECK fires if TakeTask() is called on an empty sequence.
220 TEST_F(TaskSchedulerSequenceTest, TakeEmptySequence) { 221 TEST_F(TaskSchedulerSequenceTest, TakeEmptySequence) {
221 scoped_refptr<Sequence> sequence(new Sequence); 222 scoped_refptr<Sequence> sequence(new Sequence);
222 EXPECT_DCHECK_DEATH({ sequence->TakeTask(); }); 223 EXPECT_DCHECK_DEATH({ sequence->TakeTask(); });
223 } 224 }
224 225
225 } // namespace internal 226 } // namespace internal
226 } // namespace base 227 } // namespace base
OLDNEW
« no previous file with comments | « base/task_scheduler/sequence.cc ('k') | base/threading/sequenced_worker_pool.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698