MCPcopy Create free account
hub / github.com/boostorg/asio / system_executor_execute_test

Function system_executor_execute_test

test/system_executor.cpp:91–145  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

89}
90
91void system_executor_execute_test()
92{
93 boost::asio::detail::atomic_count count(0);
94
95 system_executor().execute(bindns::bind(increment, &count));
96
97 boost::asio::require(system_executor(),
98 boost::asio::execution::blocking.possibly
99 ).execute(bindns::bind(increment, &count));
100
101 boost::asio::require(system_executor(),
102 boost::asio::execution::blocking.always
103 ).execute(bindns::bind(increment, &count));
104
105 boost::asio::require(system_executor(),
106 boost::asio::execution::blocking.never
107 ).execute(bindns::bind(increment, &count));
108
109 boost::asio::require(system_executor(),
110 boost::asio::execution::blocking.never,
111 boost::asio::execution::outstanding_work.untracked
112 ).execute(bindns::bind(increment, &count));
113
114 boost::asio::require(system_executor(),
115 boost::asio::execution::blocking.never,
116 boost::asio::execution::outstanding_work.untracked,
117 boost::asio::execution::relationship.fork
118 ).execute(bindns::bind(increment, &count));
119
120 boost::asio::require(system_executor(),
121 boost::asio::execution::blocking.never,
122 boost::asio::execution::outstanding_work.untracked,
123 boost::asio::execution::relationship.continuation
124 ).execute(bindns::bind(increment, &count));
125
126 boost::asio::prefer(
127 boost::asio::require(system_executor(),
128 boost::asio::execution::blocking.never,
129 boost::asio::execution::outstanding_work.untracked,
130 boost::asio::execution::relationship.continuation),
131 boost::asio::execution::allocator(std::allocator<void>())
132 ).execute(bindns::bind(increment, &count));
133
134 boost::asio::prefer(
135 boost::asio::require(system_executor(),
136 boost::asio::execution::blocking.never,
137 boost::asio::execution::outstanding_work.untracked,
138 boost::asio::execution::relationship.continuation),
139 boost::asio::execution::allocator
140 ).execute(bindns::bind(increment, &count));
141
142 boost::asio::query(system_executor(), execution::context).join();
143
144 BOOST_ASIO_CHECK(count == 9);
145}
146
147BOOST_ASIO_TEST_SUITE
148(

Callers

nothing calls this directly

Calls 7

bindFunction · 0.50
requireFunction · 0.50
preferFunction · 0.50
allocatorClass · 0.50
queryFunction · 0.50
executeMethod · 0.45
joinMethod · 0.45

Tested by

no test coverage detected