From 7eb774ed0959b7512376501891ad9eac9cea65a0 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Wed, 5 Feb 2025 14:12:47 +0100 Subject: [PATCH] Fix log category name macro collision in `MacOS` (#5585) (#5595) (#5620) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix log category name macro collision in `MacOS` (#5585) (#5595) * Fix log category name macro collision in `MacOS` (#5585) * Refs #22657: BB test Signed-off-by: Mario Domínguez López * Refs #22657: Fix Signed-off-by: Mario Domínguez López * Refs #22657: Make test available in all platforms Signed-off-by: Mario Dominguez * Refs #22657: Apply missing Miguels suggestion Signed-off-by: Mario Dominguez --------- Signed-off-by: Mario Domínguez López Signed-off-by: Mario Dominguez (cherry picked from commit a59d32fca3788dc80471b677f9128c7491dae9c3) # Conflicts: # src/cpp/rtps/RTPSDomain.cpp * Fix conflicts Signed-off-by: Miguel Company --------- Signed-off-by: Miguel Company Co-authored-by: Mario Domínguez López <116071334+Mario-DL@users.noreply.github.com> Co-authored-by: Miguel Company (cherry picked from commit 55cf7b2afcb4c3e67795415ddc455c91f805090a) # Conflicts: # src/cpp/fastdds/domain/DomainParticipantFactory.cpp * Fix conflicts Signed-off-by: Eugenio Collado * Colcon Fix Signed-off-by: Eugenio Collado --------- Signed-off-by: Eugenio Collado Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> Co-authored-by: Eugenio Collado --- .../domain/DomainParticipantFactory.cpp | 6 +-- src/cpp/rtps/RTPSDomain.cpp | 6 +-- .../blackbox/common/DDSBlackboxTestsBasic.cpp | 40 +++++++++++++++++++ 3 files changed, 46 insertions(+), 6 deletions(-) diff --git a/src/cpp/fastdds/domain/DomainParticipantFactory.cpp b/src/cpp/fastdds/domain/DomainParticipantFactory.cpp index bb9457b8bd4..063634beeea 100644 --- a/src/cpp/fastdds/domain/DomainParticipantFactory.cpp +++ b/src/cpp/fastdds/domain/DomainParticipantFactory.cpp @@ -361,7 +361,7 @@ ReturnCode_t DomainParticipantFactory::load_XML_profiles_file( { if (XMLP_ret::XML_ERROR == XMLProfileManager::loadXMLFile(xml_profile_file)) { - EPROSIMA_LOG_ERROR(DOMAIN, "Problem loading XML file '" << xml_profile_file << "'"); + EPROSIMA_LOG_ERROR(DDS_DOMAIN, "Problem loading XML file '" << xml_profile_file << "'"); return ReturnCode_t::RETCODE_ERROR; } return ReturnCode_t::RETCODE_OK; @@ -373,7 +373,7 @@ ReturnCode_t DomainParticipantFactory::load_XML_profiles_string( { if (XMLP_ret::XML_ERROR == XMLProfileManager::loadXMLString(data, length)) { - EPROSIMA_LOG_ERROR(DOMAIN, "Problem loading XML string"); + EPROSIMA_LOG_ERROR(DDS_DOMAIN, "Problem loading XML string"); return ReturnCode_t::RETCODE_ERROR; } return ReturnCode_t::RETCODE_OK; @@ -385,7 +385,7 @@ ReturnCode_t DomainParticipantFactory::check_xml_static_discovery( eprosima::fastrtps::xmlparser::XMLEndpointParser parser; if (XMLP_ret::XML_OK != parser.loadXMLFile(xml_file)) { - EPROSIMA_LOG_ERROR(DOMAIN, "Error parsing xml file"); + EPROSIMA_LOG_ERROR(DDS_DOMAIN, "Error parsing xml file"); return ReturnCode_t::RETCODE_ERROR; } return ReturnCode_t::RETCODE_OK; diff --git a/src/cpp/rtps/RTPSDomain.cpp b/src/cpp/rtps/RTPSDomain.cpp index 7dd46e510cf..2bb2a604da7 100644 --- a/src/cpp/rtps/RTPSDomain.cpp +++ b/src/cpp/rtps/RTPSDomain.cpp @@ -543,7 +543,7 @@ RTPSParticipant* RTPSDomainImpl::clientServerEnvironmentCreationOverride( // Check the specified discovery protocol: if other than simple it has priority over ros environment variable if (att.builtin.discovery_config.discoveryProtocol != DiscoveryProtocol_t::SIMPLE) { - EPROSIMA_LOG_INFO(DOMAIN, "Detected non simple discovery protocol attributes." + EPROSIMA_LOG_INFO(RTPS_DOMAIN, "Detected non simple discovery protocol attributes." << " Ignoring auto default client-server setup."); return nullptr; } @@ -664,13 +664,13 @@ RTPSParticipant* RTPSDomainImpl::clientServerEnvironmentCreationOverride( if (nullptr != part) { // Client successfully created - EPROSIMA_LOG_INFO(DOMAIN, "Auto default server-client setup. Default client created."); + EPROSIMA_LOG_INFO(RTPS_DOMAIN, "Auto default server-client setup. Default client created."); part->mp_impl->client_override(true); return part; } // Unable to create auto server-client default participants - EPROSIMA_LOG_ERROR(DOMAIN, "Auto default server-client setup. Unable to create the client."); + EPROSIMA_LOG_ERROR(RTPS_DOMAIN, "Auto default server-client setup. Unable to create the client."); return nullptr; } diff --git a/test/blackbox/common/DDSBlackboxTestsBasic.cpp b/test/blackbox/common/DDSBlackboxTestsBasic.cpp index 9372ea1702d..04b3fa2dbbd 100644 --- a/test/blackbox/common/DDSBlackboxTestsBasic.cpp +++ b/test/blackbox/common/DDSBlackboxTestsBasic.cpp @@ -1019,6 +1019,46 @@ TEST(DDSBasic, reliable_volatile_writer_secure_builtin_no_potential_deadlock) writer.destroy(); } +TEST(DDSBasic, participant_factory_output_log_error_no_macro_collision) +{ + using Log = eprosima::fastdds::dds::Log; + using LogConsumer = eprosima::fastdds::dds::LogConsumer; + + // A LogConsumer that just counts the number of entries consumed + struct TestConsumer : public LogConsumer + { + TestConsumer( + std::atomic_size_t& n_logs_ref) + : n_logs_(n_logs_ref) + { + } + + void Consume( + const Log::Entry&) override + { + ++n_logs_; + } + + private: + + std::atomic_size_t& n_logs_; + }; + + // Counter for log entries + std::atomicn_logs{}; + + // Prepare Log module to check that no SECURITY errors are produced + Log::SetCategoryFilter(std::regex("DOMAIN")); + Log::SetVerbosity(Log::Kind::Error); + Log::RegisterConsumer(std::unique_ptr(new TestConsumer(n_logs))); + + auto dpf = DomainParticipantFactory::get_shared_instance(); + DomainParticipantQos qos; + dpf->load_XML_profiles_file(""); + Log::Flush(); + ASSERT_GE(n_logs.load(), 1u); +} + } // namespace dds } // namespace fastdds } // namespace eprosima