Make LogReader own SimulatedEventLoopFactory
This reduces some code duplication and makes things easier once we start
need to be able to mess with the config from the LogReader.
Change-Id: Ia1c04f37865cfd284c3675ca138d38b3f4b7717f
diff --git a/aos/events/logging/logger_test.cc b/aos/events/logging/logger_test.cc
index 91190e7..d96d4c6 100644
--- a/aos/events/logging/logger_test.cc
+++ b/aos/events/logging/logger_test.cc
@@ -64,16 +64,16 @@
LOG(INFO) << "Config " << FlatbufferToJson(reader.configuration());
EXPECT_EQ(reader.node(), nullptr);
- SimulatedEventLoopFactory log_reader_factory(reader.configuration());
-
// This sends out the fetched messages and advances time to the start of the
// log file.
- reader.Register(&log_reader_factory);
+ reader.Register();
- EXPECT_EQ(log_reader_factory.node(), nullptr);
+ EXPECT_EQ(reader.node(), nullptr);
+
+ EXPECT_EQ(reader.event_loop_factory()->node(), nullptr);
std::unique_ptr<EventLoop> test_event_loop =
- log_reader_factory.MakeEventLoop("log_reader");
+ reader.event_loop_factory()->MakeEventLoop("log_reader");
int ping_count = 10;
int pong_count = 10;
@@ -93,10 +93,8 @@
EXPECT_EQ(ping_count, pong_count);
});
- log_reader_factory.RunFor(std::chrono::seconds(100));
+ reader.event_loop_factory()->RunFor(std::chrono::seconds(100));
EXPECT_EQ(ping_count, 2010);
-
- reader.Deregister();
}
// Tests that a large number of messages per second doesn't overwhelm writev.
@@ -209,22 +207,22 @@
}
LogReader reader(logfile);
- ASSERT_NE(reader.node(), nullptr);
- EXPECT_EQ(reader.node()->name()->string_view(), "pi1");
// TODO(austin): Also replay as pi2 or pi3 and make sure we see the pong
// messages. This won't work today yet until the log reading code gets
// significantly better.
- SimulatedEventLoopFactory log_reader_factory(reader.configuration(),
- reader.node());
- log_reader_factory.set_send_delay(chrono::microseconds(0));
// This sends out the fetched messages and advances time to the start of the
// log file.
- reader.Register(&log_reader_factory);
+ reader.Register();
+
+ ASSERT_NE(reader.node(), nullptr);
+ EXPECT_EQ(reader.node()->name()->string_view(), "pi1");
+
+ reader.event_loop_factory()->set_send_delay(chrono::microseconds(0));
std::unique_ptr<EventLoop> test_event_loop =
- log_reader_factory.MakeEventLoop("test");
+ reader.event_loop_factory()->MakeEventLoop("test");
int ping_count = 10;
int pong_count = 10;
@@ -252,11 +250,9 @@
EXPECT_EQ(ping_count, pong_count);
});
- log_reader_factory.RunFor(std::chrono::seconds(100));
+ reader.event_loop_factory()->RunFor(std::chrono::seconds(100));
EXPECT_EQ(ping_count, 2010);
EXPECT_EQ(pong_count, 2010);
-
- reader.Deregister();
}
} // namespace testing