103 gdb::thread_pool::g_thread_pool->set_thread_count (n_threads);
107 std::atomic<int> counter (0);
109 [&] (
int start,
int end)
111 counter += end - start;
113 SELF_CHECK (counter ==
NUMBER);
117 [&] (
int start,
int end)
119 counter += end - start;
121 SELF_CHECK (counter == 0);
123 auto task_size_max_ = [] (
int iter)
127 auto task_size_max = gdb::make_function_view (task_size_max_);
131 [&] (
int start,
int end)
133 counter += end - start;
135 SELF_CHECK (counter ==
NUMBER);
137 auto task_size_one_ = [] (
int iter)
141 auto task_size_one = gdb::make_function_view (task_size_one_);
145 [&] (
int start,
int end)
147 counter += end - start;
149 SELF_CHECK (counter ==
NUMBER);
155 std::vector<std::unique_ptr<int>> intresults;
156 std::atomic<bool> any_empty_tasks (
false);
159 [&] (
int start,
int end)
162 any_empty_tasks =
true;
163 return gdb::make_unique<int> (end - start);
165 SELF_CHECK (!any_empty_tasks);
166 SELF_CHECK (std::all_of (intresults.begin (),
168 [] (
const std::unique_ptr<int> &entry)
170 return entry != nullptr;
175 any_empty_tasks =
false;
177 [&] (
int start,
int end)
180 any_empty_tasks =
true;
181 return gdb::make_unique<int> (end - start);
184 SELF_CHECK (!any_empty_tasks);
185 SELF_CHECK (std::all_of (intresults.begin (),
187 [] (
const std::unique_ptr<int> &entry)
189 return entry != nullptr;