diff options
-rw-r--r-- | src/associations.cpp | 11 | ||||
-rw-r--r-- | src/test/associations.cpp | 8 |
2 files changed, 7 insertions, 12 deletions
diff --git a/src/associations.cpp b/src/associations.cpp index 6982b52..b4c0fae 100644 --- a/src/associations.cpp +++ b/src/associations.cpp @@ -156,18 +156,17 @@ void associationChanged(sdbusplus::asio::object_server& objectServer, std::string endpoint; std::tie(forward, reverse, endpoint) = association; + if (endpoint.empty()) + { + std::cerr << "Found invalid association on path " << path << "\n"; + continue; + } if (forward.size()) { objects[path + "/" + forward].emplace(endpoint); } if (reverse.size()) { - if (endpoint.empty()) - { - std::cerr << "Found invalid association on path " << path - << "\n"; - continue; - } objects[endpoint + "/" + reverse].emplace(path); } } diff --git a/src/test/associations.cpp b/src/test/associations.cpp index 20d7ba7..1b6a348 100644 --- a/src/test/associations.cpp +++ b/src/test/associations.cpp @@ -176,14 +176,10 @@ TEST_F(TestAssociations, associationChangedEmptyEndpoint) associationChanged(*server, associations, DEFAULT_SOURCE_PATH, DEFAULT_DBUS_SVC, assocOwners, assocInterfaces); - // TODO - This test case found a bug where the endpoint validity - // is not checked on the FWD path and is used by default, resulting - // in there being a "" endpoint value. Will fix this in next commit - // to keep the refactor of the code separate from the fix - // (i.e. both of these should be 0 since we have an invalid endpoint) + // Both of these should be 0 since we have an invalid endpoint auto intfEndpoints = std::get<endpointsPos>(assocInterfaces[DEFAULT_FWD_PATH]); - EXPECT_EQ(intfEndpoints.size(), 1); + EXPECT_EQ(intfEndpoints.size(), 0); intfEndpoints = std::get<endpointsPos>(assocInterfaces[DEFAULT_REV_PATH]); EXPECT_EQ(intfEndpoints.size(), 0); } |