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

Side by Side Diff: cc/resources/worker_pool_unittest.cc

Issue 17351017: Re-land: cc: Add raster finished signals to RasterWorkerPool. (Closed) Base URL: http://git.chromium.org/chromium/src.git@new-graph-build
Patch Set: fix flaky unit tests Created 7 years, 5 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 | « cc/resources/worker_pool_perftest.cc ('k') | cc/test/fake_tile_manager.h » ('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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "cc/resources/worker_pool.h" 5 #include "cc/resources/worker_pool.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "cc/base/completion_event.h" 9 #include "cc/base/completion_event.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 void ScheduleTasks(const std::vector<Task>& tasks) { 70 void ScheduleTasks(const std::vector<Task>& tasks) {
71 TaskVector new_tasks; 71 TaskVector new_tasks;
72 TaskVector new_dependents; 72 TaskVector new_dependents;
73 TaskGraph new_graph; 73 TaskGraph new_graph;
74 74
75 scoped_refptr<FakeWorkerPoolTaskImpl> new_completion_task( 75 scoped_refptr<FakeWorkerPoolTaskImpl> new_completion_task(
76 new FakeWorkerPoolTaskImpl( 76 new FakeWorkerPoolTaskImpl(
77 base::Bind(&FakeWorkerPool::OnTasksCompleted, 77 base::Bind(&FakeWorkerPool::OnTasksCompleted,
78 base::Unretained(this)), 78 base::Unretained(this)),
79 base::Closure())); 79 base::Closure()));
80 scoped_ptr<GraphNode> completion_node(new GraphNode); 80 scoped_ptr<internal::GraphNode> completion_node(
81 completion_node->set_task(new_completion_task.get()); 81 new internal::GraphNode(new_completion_task.get(), 0u));
82 82
83 for (std::vector<Task>::const_iterator it = tasks.begin(); 83 for (std::vector<Task>::const_iterator it = tasks.begin();
84 it != tasks.end(); ++it) { 84 it != tasks.end(); ++it) {
85 scoped_refptr<FakeWorkerPoolTaskImpl> new_task( 85 scoped_refptr<FakeWorkerPoolTaskImpl> new_task(
86 new FakeWorkerPoolTaskImpl(it->callback, it->reply)); 86 new FakeWorkerPoolTaskImpl(it->callback, it->reply));
87 scoped_ptr<GraphNode> node(new GraphNode); 87 scoped_ptr<internal::GraphNode> node(
88 node->set_task(new_task.get()); 88 new internal::GraphNode(new_task.get(), it->priority));
89 node->set_priority(it->priority);
90 89
91 DCHECK(it->dependent_count); 90 DCHECK(it->dependent_count);
92 for (unsigned i = 0; i < it->dependent_count; ++i) { 91 for (unsigned i = 0; i < it->dependent_count; ++i) {
93 scoped_refptr<FakeWorkerPoolTaskImpl> new_dependent_task( 92 scoped_refptr<FakeWorkerPoolTaskImpl> new_dependent_task(
94 new FakeWorkerPoolTaskImpl(it->dependent, base::Closure())); 93 new FakeWorkerPoolTaskImpl(it->dependent, base::Closure()));
95 scoped_ptr<GraphNode> dependent_node(new GraphNode); 94 scoped_ptr<internal::GraphNode> dependent_node(
96 dependent_node->set_task(new_dependent_task.get()); 95 new internal::GraphNode(new_dependent_task.get(), it->priority));
97 dependent_node->set_priority(it->priority);
98 dependent_node->add_dependent(completion_node.get()); 96 dependent_node->add_dependent(completion_node.get());
99 completion_node->add_dependency(); 97 completion_node->add_dependency();
100 node->add_dependent(dependent_node.get()); 98 node->add_dependent(dependent_node.get());
101 dependent_node->add_dependency(); 99 dependent_node->add_dependency();
102 new_graph.set(new_dependent_task.get(), dependent_node.Pass()); 100 new_graph.set(new_dependent_task.get(), dependent_node.Pass());
103 new_dependents.push_back(new_dependent_task.get()); 101 new_dependents.push_back(new_dependent_task.get());
104 } 102 }
105 103
106 new_graph.set(new_task.get(), node.Pass()); 104 new_graph.set(new_task.get(), node.Pass());
107 new_tasks.push_back(new_task.get()); 105 new_tasks.push_back(new_task.get());
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after
387 EXPECT_EQ(1u, run_task_ids()[2]); 385 EXPECT_EQ(1u, run_task_ids()[2]);
388 ASSERT_EQ(3u, on_task_completed_ids().size()); 386 ASSERT_EQ(3u, on_task_completed_ids().size());
389 EXPECT_EQ(2u, on_task_completed_ids()[0]); 387 EXPECT_EQ(2u, on_task_completed_ids()[0]);
390 EXPECT_EQ(1u, on_task_completed_ids()[1]); 388 EXPECT_EQ(1u, on_task_completed_ids()[1]);
391 EXPECT_EQ(0u, on_task_completed_ids()[2]); 389 EXPECT_EQ(0u, on_task_completed_ids()[2]);
392 } 390 }
393 391
394 } // namespace 392 } // namespace
395 393
396 } // namespace cc 394 } // namespace cc
OLDNEW
« no previous file with comments | « cc/resources/worker_pool_perftest.cc ('k') | cc/test/fake_tile_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698