21 #define BOOST_TEST_MODULE libjmmcg_testsh4NjRr1_f%n
23 #include <boost/test/included/unit_test.hpp>
25 #include <boost/mpl/list.hpp>
29 #include "core/shared_mem.hpp"
31 static const std::string name(
"shared_mem_test");
33 using namespace libjmmcg;
35 BOOST_AUTO_TEST_CASE(create_shm_wait_for_data_updates) {
38 auto wait_for_new_data_or_exit=[data]() {
39 const bool old=data->changed;
40 while (data->changed==old) {
41 if (data->exit_child) {
44 std::this_thread::yield();
49 data->subproc_started=
true;
50 while (!data->exit_child) {
51 if (wait_for_new_data_or_exit()) {
54 BOOST_CHECK_EQUAL(data->ping,
true);
56 data->changed=!data->changed;
57 if (wait_for_new_data_or_exit()) {
61 BOOST_CHECK_EQUAL(data->exit_child,
true);