Add test for shm transport options

This commit is contained in:
Alexey Rybalchenko
2020-07-15 13:28:28 +02:00
committed by Dennis Klein
parent beb7766fca
commit 3eca8e9def
2 changed files with 27 additions and 4 deletions

View File

@@ -66,6 +66,24 @@ void RunOptionsTest(const string& transport)
ASSERT_EQ(channel.GetSocket().GetRcvKernelSize(), 8000);
}
void ZeroingAndMlock(const string& transport)
{
size_t session{fair::mq::tools::UuidHash()};
fair::mq::ProgOptions config;
config.SetProperty<string>("session", to_string(session));
config.SetProperty<size_t>("shm-segment-size", 16384);
config.SetProperty<bool>("shm-zero-segment", true);
config.SetProperty<bool>("shm-mlock-segment", true);
auto factory = FairMQTransportFactory::CreateTransportFactory(transport, fair::mq::tools::Uuid(), &config);
FairMQMessagePtr outMsg(factory->CreateMessage(10000));
char test[10000];
memset(test, 0, sizeof(test));
ASSERT_EQ(memcmp(test, outMsg->GetData(), outMsg->GetSize()), 0);
}
TEST(Options, zeromq)
{
RunOptionsTest("zeromq");
@@ -76,4 +94,9 @@ TEST(Options, shmem)
RunOptionsTest("shmem");
}
TEST(ZeroingAndMlock, shmem)
{
ZeroingAndMlock("shmem");
}
} // namespace