multiprocess: Add unit tests for connect, serve, and listen functions

This commit is contained in:
Ryan Ofsky
2024-07-17 10:37:52 -04:00
parent 955d4077aa
commit 73fe7d7230
6 changed files with 142 additions and 8 deletions

View File

@@ -61,11 +61,12 @@ public:
}
mp::ListenConnections<messages::Init>(*m_loop, listen_fd, init);
}
void serve(int fd, const char* exe_name, interfaces::Init& init) override
void serve(int fd, const char* exe_name, interfaces::Init& init, const std::function<void()>& ready_fn = {}) override
{
assert(!m_loop);
mp::g_thread_context.thread_name = mp::ThreadName(exe_name);
m_loop.emplace(exe_name, &IpcLogFn, &m_context);
if (ready_fn) ready_fn();
mp::ServeStream<messages::Init>(*m_loop, fd, init);
m_loop->loop();
m_loop.reset();