From 3264505f6f99f025504d603cc713b3465704c133 Mon Sep 17 00:00:00 2001 From: Kateryna Nezdolii Date: Mon, 16 Nov 2020 23:02:02 +0100 Subject: [PATCH] [test host utils] use make_shared to avoid memory leaks (#14042) Commit Message: Switch to using std::make_shared in host util test code. Clang tidy is unhappy about current state of code and has been complaining about potential memory leaks, sample log here: https://dev.azure.com/cncf/envoy/_build/results?buildId=57303&view=logs&jobId=b7634614-24f3-5416-e791-4f3affaaed6c&j=b7634614-24f3-5416-e791-4f3affaaed6c&t=21e6aa7d-f369-5abd-5e4e-e888cac18e9c. Issue discovered in this PR. We may need to create dedicated issue to fix problem globally. Risk Level: Low Testing: Covered by existing tests Docs Changes: NA Release Notes: NA Signed-off-by: Kateryna Nezdolii Signed-off-by: Qin Qin --- test/common/upstream/utility.h | 40 +++++++++++++++++----------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/test/common/upstream/utility.h b/test/common/upstream/utility.h index ef3dd210adf3..cd92eb9d37a3 100644 --- a/test/common/upstream/utility.h +++ b/test/common/upstream/utility.h @@ -79,48 +79,48 @@ inline envoy::config::cluster::v3::Cluster defaultStaticCluster(const std::strin inline HostSharedPtr makeTestHost(ClusterInfoConstSharedPtr cluster, const std::string& hostname, const std::string& url, uint32_t weight = 1) { - return HostSharedPtr{ - new HostImpl(cluster, hostname, Network::Utility::resolveUrl(url), nullptr, weight, - envoy::config::core::v3::Locality(), - envoy::config::endpoint::v3::Endpoint::HealthCheckConfig::default_instance(), 0, - envoy::config::core::v3::UNKNOWN)}; + return std::make_shared( + cluster, hostname, Network::Utility::resolveUrl(url), nullptr, weight, + envoy::config::core::v3::Locality(), + envoy::config::endpoint::v3::Endpoint::HealthCheckConfig::default_instance(), 0, + envoy::config::core::v3::UNKNOWN); } inline HostSharedPtr makeTestHost(ClusterInfoConstSharedPtr cluster, const std::string& url, uint32_t weight = 1, uint32_t priority = 0) { - return HostSharedPtr{ - new HostImpl(cluster, "", Network::Utility::resolveUrl(url), nullptr, weight, - envoy::config::core::v3::Locality(), - envoy::config::endpoint::v3::Endpoint::HealthCheckConfig::default_instance(), - priority, envoy::config::core::v3::UNKNOWN)}; + return std::make_shared( + cluster, "", Network::Utility::resolveUrl(url), nullptr, weight, + envoy::config::core::v3::Locality(), + envoy::config::endpoint::v3::Endpoint::HealthCheckConfig::default_instance(), priority, + envoy::config::core::v3::UNKNOWN); } inline HostSharedPtr makeTestHost(ClusterInfoConstSharedPtr cluster, const std::string& url, const envoy::config::core::v3::Metadata& metadata, uint32_t weight = 1) { - return HostSharedPtr{ - new HostImpl(cluster, "", Network::Utility::resolveUrl(url), - std::make_shared(metadata), weight, - envoy::config::core::v3::Locality(), - envoy::config::endpoint::v3::Endpoint::HealthCheckConfig::default_instance(), 0, - envoy::config::core::v3::UNKNOWN)}; + return std::make_shared( + cluster, "", Network::Utility::resolveUrl(url), + std::make_shared(metadata), weight, + envoy::config::core::v3::Locality(), + envoy::config::endpoint::v3::Endpoint::HealthCheckConfig::default_instance(), 0, + envoy::config::core::v3::UNKNOWN); } inline HostSharedPtr makeTestHost(ClusterInfoConstSharedPtr cluster, const std::string& url, const envoy::config::endpoint::v3::Endpoint::HealthCheckConfig& health_check_config, uint32_t weight = 1) { - return HostSharedPtr{new HostImpl(cluster, "", Network::Utility::resolveUrl(url), nullptr, weight, + return std::make_shared(cluster, "", Network::Utility::resolveUrl(url), nullptr, weight, envoy::config::core::v3::Locality(), health_check_config, 0, - envoy::config::core::v3::UNKNOWN)}; + envoy::config::core::v3::UNKNOWN); } inline HostDescriptionConstSharedPtr makeTestHostDescription(ClusterInfoConstSharedPtr cluster, const std::string& url) { - return HostDescriptionConstSharedPtr{new HostDescriptionImpl( + return std::make_shared( cluster, "", Network::Utility::resolveUrl(url), nullptr, envoy::config::core::v3::Locality().default_instance(), - envoy::config::endpoint::v3::Endpoint::HealthCheckConfig::default_instance(), 0)}; + envoy::config::endpoint::v3::Endpoint::HealthCheckConfig::default_instance(), 0); } inline HostsPerLocalitySharedPtr makeHostsPerLocality(std::vector&& locality_hosts,