Add RunFor to SimulatedEventLoopFactory
Turns out we really want to be able to run for short periods of time in
simulation. So add support and tests for it.
Change-Id: I9276e1330a0d4eaea717f949516b290b1a01ed89
diff --git a/aos/events/shm-event-loop_test.cc b/aos/events/shm-event-loop_test.cc
index d6f493f..0878e12 100644
--- a/aos/events/shm-event-loop_test.cc
+++ b/aos/events/shm-event-loop_test.cc
@@ -10,11 +10,23 @@
class ShmEventLoopTestFactory : public EventLoopTestFactory {
public:
- std::unique_ptr<EventLoop> Make() override {
- return std::unique_ptr<EventLoop>(new ShmEventLoop());
+ ::std::unique_ptr<EventLoop> Make() override {
+ return ::std::unique_ptr<EventLoop>(new ShmEventLoop());
}
+ ::std::unique_ptr<EventLoop> MakePrimary() override {
+ ::std::unique_ptr<ShmEventLoop> loop =
+ ::std::unique_ptr<ShmEventLoop>(new ShmEventLoop());
+ primary_event_loop_ = loop.get();
+ return ::std::move(loop);
+ }
+
+ void Run() override { CHECK_NOTNULL(primary_event_loop_)->Run(); }
+
+ private:
::aos::testing::TestSharedMemory my_shm_;
+
+ ::aos::ShmEventLoop *primary_event_loop_;
};
INSTANTIATE_TEST_CASE_P(ShmEventLoopTest, AbstractEventLoopTest,