No need for boost::optional, since std::thread::id() constructs a thread id guaranteed to not represent any valid thread (it will compare unequal to any valid thread ids).
It would be better to use an expectation on mtd::MockServerActionQueue::enqueue(), since
currently we don't check that the queue is actually used. For example, if we mess up the code and call action() directly instead of enqueuing this test will still succeed.
833 + boost:: optional< std::thread: :id> main_loop_thread; optional< std::thread: :id> queue_thread_id,
1486 + boost::
No need for boost::optional, since std::thread::id() constructs a thread id guaranteed to not represent any valid thread (it will compare unequal to any valid thread ids).
1511 + if (done)
1512 + return;
Unprotected access to 'done'.
1540 +#ifndef MIR_SENTINEL_ ACTION_ H ACTION_ H
1541 +#define MIR_SENTINEL_
Wrong guard name (also missing '_' at the end of the name).
2240 + std::atomic<int> p1_handler_ never_triggers{ -1}; executes{ -1};
2241 + std::atomic<int> p2_handler_
No need for atomic, since the handlers are guaranteed not to run after run() returns.
2850 +TEST(Synchrono usServerActionT est, enqueues_ action_ if_thread_ differs)
It would be better to use an expectation on mtd::MockServer ActionQueue: :enqueue( ), since
currently we don't check that the queue is actually used. For example, if we mess up the code and call action() directly instead of enqueuing this test will still succeed.
mtd::MockServer ActionQueue mock_queue; CALL(mock_ queue, enqueue(_,_)) ...invoke arg2...);
EXPECT_
.WillOnce(