summaryrefslogtreecommitdiff
path: root/unittests/Utility/TaskPoolTest.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-05-08 17:13:54 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-05-08 17:13:54 +0000
commit8b4000f13b303cc154136abc74c55670673e2a96 (patch)
treecde70521176ae2fac67cb037f0a876972b9cc5f0 /unittests/Utility/TaskPoolTest.cpp
parent52fd8de56a8a12201c1e6188e1f34d28c3d3398d (diff)
Notes
Diffstat (limited to 'unittests/Utility/TaskPoolTest.cpp')
-rw-r--r--unittests/Utility/TaskPoolTest.cpp31
1 files changed, 10 insertions, 21 deletions
diff --git a/unittests/Utility/TaskPoolTest.cpp b/unittests/Utility/TaskPoolTest.cpp
index 172e32a9c6c0..e340a81b27db 100644
--- a/unittests/Utility/TaskPoolTest.cpp
+++ b/unittests/Utility/TaskPoolTest.cpp
@@ -30,25 +30,14 @@ TEST(TaskPoolTest, RunTasks) {
ASSERT_EQ(17, r[3]);
}
-TEST(TaskPoolTest, TaskRunner) {
- auto fn = [](int x) { return std::make_pair(x, x * x); };
-
- TaskRunner<std::pair<int, int>> tr;
- tr.AddTask(fn, 1);
- tr.AddTask(fn, 2);
- tr.AddTask(fn, 3);
- tr.AddTask(fn, 4);
-
- int count = 0;
- while (true) {
- auto f = tr.WaitForNextCompletedTask();
- if (!f.valid())
- break;
-
- ++count;
- std::pair<int, int> v = f.get();
- ASSERT_EQ(v.first * v.first, v.second);
- }
-
- ASSERT_EQ(4, count);
+TEST(TaskPoolTest, TaskMap) {
+ int data[4];
+ auto fn = [&data](int x) { data[x] = x * x; };
+
+ TaskMapOverInt(0, 4, fn);
+
+ ASSERT_EQ(data[0], 0);
+ ASSERT_EQ(data[1], 1);
+ ASSERT_EQ(data[2], 4);
+ ASSERT_EQ(data[3], 9);
}