From c812d03bc726aafc90f996073bfc327bb0ae230d Mon Sep 17 00:00:00 2001 From: Stanislav Angelovic Date: Mon, 2 Jan 2023 15:05:57 +0100 Subject: [PATCH] fix: integration tests for libsystemd v251 diff --git a/tests/integrationtests/DBusStandardInterfacesTests.cpp b/tests/integrationtests/DBusStandardInterfacesTests.cpp index a291be3..6381587 100644 --- a/tests/integrationtests/DBusStandardInterfacesTests.cpp +++ b/tests/integrationtests/DBusStandardInterfacesTests.cpp @@ -201,7 +201,13 @@ TEST_F(SdbusTestObject, EmitsInterfacesAddedSignalForAllObjectInterfaces) , const std::map>& interfacesAndProperties ) { EXPECT_THAT(objectPath, Eq(OBJECT_PATH)); +#if LIBSYSTEMD_VERSION<=250 EXPECT_THAT(interfacesAndProperties, SizeIs(5)); // INTERFACE_NAME + 4 standard interfaces +#else + // Since systemd v251, ObjectManager standard interface is not listed among the interfaces + // if the object does not have object manager functionality explicitly enabled. + EXPECT_THAT(interfacesAndProperties, SizeIs(4)); // INTERFACE_NAME + 3 standard interfaces +#endif #if LIBSYSTEMD_VERSION<=244 // Up to sd-bus v244, all properties are added to the list, i.e. `state', `action', and `blocking' in this case. EXPECT_THAT(interfacesAndProperties.at(INTERFACE_NAME), SizeIs(3)); @@ -248,7 +254,13 @@ TEST_F(SdbusTestObject, EmitsInterfacesRemovedSignalForAllObjectInterfaces) , const std::vector& interfaces ) { EXPECT_THAT(objectPath, Eq(OBJECT_PATH)); +#if LIBSYSTEMD_VERSION<=250 ASSERT_THAT(interfaces, SizeIs(5)); // INTERFACE_NAME + 4 standard interfaces +#else + // Since systemd v251, ObjectManager standard interface is not listed among the interfaces + // if the object does not have object manager functionality explicitly enabled. + ASSERT_THAT(interfaces, SizeIs(4)); // INTERFACE_NAME + 3 standard interfaces +#endif signalReceived = true; }; -- 2.39.1