20 TEST(KernelServiceDiscovery, Basic) {
28 uuid_t a = { { 0x1234a27c, 0xdc50, 0x4e38, 0x8c2b, { 0x45, 0x72, 0xd2, 0xe9, 0x2b, 0x80 } } };
29 uuid_t a2 = { { 0x1234a27c, 0xdc50, 0x4e38, 0x8c2b, { 0x45, 0x72, 0xd2, 0xe9, 0x2a, 0x81 } } };
30 uuid_t b = { { 0x8bf252c9, 0x4227, 0x472c, 0x963f, { 0xd7, 0x42, 0xf9, 0x77, 0xac, 0x41 } } };
32 ASSERT_EQ(
uuid_key(&a),
uuid_key(&a2)) <<
"Collision check UUIDs have same key";
45 EXPECT_EQ(
sd_send(&a, &msgA), 1) <<
"Message sent to registered queue for a";
53 EXPECT_EQ(
sd_send(&b, &msgB), 2) <<
"Message sent to all two reqistered queues for b";
61 EXPECT_EQ(
sd_send(&a2, &msgA2), 1) <<
"Message sent to reqistered queue for a2";
67 EXPECT_EQ(
mq_pop(mq0, &msgRecv), 0) <<
"Received message on queue 0";
68 EXPECT_EQ(msgRecv.
sender, 0x1337A) <<
"Successfully received message for service a on queue 0";
70 EXPECT_EQ(
mq_pop(mq0, &msgRecv), 0) <<
"Received message on queue 0";
71 EXPECT_EQ(msgRecv.
sender, 0x1337B) <<
"Successfully received message for service b on queue 0";
73 EXPECT_EQ(
mq_pop(mq1, &msgRecv), 0) <<
"Received message on queue 1";
74 EXPECT_EQ(msgRecv.
sender, 0x1337B) <<
"Successfully received message for service b on queue 1";
76 EXPECT_EQ(
mq_pop(mq1, &msgRecv), 0) <<
"Received message on queue 1";
77 EXPECT_EQ(msgRecv.
sender, 0x1337A2) <<
"Successfully received message for service a2 on queue 1";
79 EXPECT_EQ(
mq_pop(mq0, 0),
ENOMSG) <<
"No more messages on queue 0, as expected";
80 EXPECT_EQ(
mq_pop(mq1, 0),
ENOMSG) <<
"No more messages on queue 1, as expected";