1#include "gtest/gtest.h"
6#include "exec/split.hpp"
7#include "exec/static_thread_pool.hpp"
32TEST(check_scheduler,
default) {
39TEST(check_scheduler, static_thread_pool) {
40 experimental::execution::static_thread_pool pool{1};
42 auto chain = stdexec::schedule(pool.get_scheduler())
46 stdexec::sync_wait(std::move(chain));
54TEST(check_scheduler, split_when_all_no_forward) {
55 experimental::execution::static_thread_pool pool{1};
57 auto fork = stdexec::schedule(pool.get_scheduler())
61 auto chain = stdexec::when_all(
74TEST(check_scheduler, split_transfer_when_all_no_forward) {
75 ::exec::static_thread_pool pool{1};
77 auto fork = stdexec::schedule(pool.get_scheduler())
81 auto chain = stdexec::transfer_when_all(
91TEST(check_scheduler, multiple_splits) {
92 ::exec::static_thread_pool pool{1};
94 auto fork_A = stdexec::schedule(pool.get_scheduler())
101 auto chain_A = stdexec::when_all(std::move(chain_A_branch_a), std::move(chain_A_branch_b)) |
THEN_SHOW_THREAD_ID;
103 auto fork_B = std::move(chain_A) | stdexec::continues_on(pool.get_scheduler())
105 | experimental::execution::split();
112 auto chain_B = stdexec::when_all(std::move(chain_B_branch_a), std::move(chain_B_branch_b)) |
THEN_SHOW_THREAD_ID
#define KOKKOS_EXECUTION_STDEXEC_PRAGMA_DIAGNOSTIC_IGNORED
Basic list of ignored diagnostics when including anything from stdexec.
constexpr check_scheduler_type_t< Tag, Schd > check_scheduler_type
experimental::execution::_pool_::_static_thread_pool::scheduler static_thread_pool_scheduler_t
stdexec::run_loop::scheduler run_loop_scheduler_t
#define THEN_SHOW_THREAD_ID
Add a then using Tests::Utils::Functors::ShowThreadID. // NOLINTNEXTLINE(cppcoreguidelines-macro-usag...