reenable the global cleanup test (#5590)
This commit is contained in:
parent
a168e0ef0f
commit
8db62bf8da
@ -29,7 +29,7 @@ namespace Azure { namespace Core { namespace Test {
|
||||
class CurlConnectionPool_connectionPoolTest_Test;
|
||||
class CurlConnectionPool_uniquePort_Test;
|
||||
class CurlConnectionPool_connectionClose_Test;
|
||||
class SdkWithLibcurl_DISABLED_globalCleanUp_Test;
|
||||
class SdkWithLibcurl_globalCleanUp_Test;
|
||||
}}} // namespace Azure::Core::Test
|
||||
#endif
|
||||
|
||||
@ -48,7 +48,7 @@ namespace Azure { namespace Core { namespace Http { namespace _detail {
|
||||
friend class Azure::Core::Test::CurlConnectionPool_connectionPoolTest_Test;
|
||||
friend class Azure::Core::Test::CurlConnectionPool_uniquePort_Test;
|
||||
friend class Azure::Core::Test::CurlConnectionPool_connectionClose_Test;
|
||||
friend class Azure::Core::Test::SdkWithLibcurl_DISABLED_globalCleanUp_Test;
|
||||
friend class Azure::Core::Test::SdkWithLibcurl_globalCleanUp_Test;
|
||||
#endif
|
||||
|
||||
public:
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
// Define the class name that reads from ConnectionPool private members
|
||||
namespace Azure { namespace Core { namespace Test {
|
||||
class CurlConnectionPool_connectionPoolTest_Test;
|
||||
class SdkWithLibcurl_DISABLED_globalCleanUp_Test;
|
||||
class SdkWithLibcurl_globalCleanUp_Test;
|
||||
}}} // namespace Azure::Core::Test
|
||||
#endif
|
||||
|
||||
@ -43,7 +43,7 @@ namespace Azure { namespace Core { namespace Http {
|
||||
#ifdef _azure_TESTING_BUILD
|
||||
// Give access to private to this tests class
|
||||
friend class Azure::Core::Test::CurlConnectionPool_connectionPoolTest_Test;
|
||||
friend class Azure::Core::Test::SdkWithLibcurl_DISABLED_globalCleanUp_Test;
|
||||
friend class Azure::Core::Test::SdkWithLibcurl_globalCleanUp_Test;
|
||||
#endif
|
||||
private:
|
||||
/**
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
|
||||
namespace Azure { namespace Core { namespace Test {
|
||||
// This test fails intermittently: https://github.com/Azure/azure-sdk-for-cpp/issues/4332
|
||||
TEST(SdkWithLibcurl, DISABLED_globalCleanUp)
|
||||
TEST(SdkWithLibcurl, globalCleanUp)
|
||||
{
|
||||
Azure::Core::Http::Request req(
|
||||
Azure::Core::Http::HttpMethod::Get, Azure::Core::Url("https://httpbin.org/get"));
|
||||
@ -84,11 +84,19 @@ namespace Azure { namespace Core { namespace Test {
|
||||
Azure::Core::Http::_detail::CurlConnectionPool::g_curlConnectionPool.ConnectionPoolIndex
|
||||
.size(),
|
||||
1);
|
||||
// let the thread cleanup thread hit
|
||||
std::this_thread::sleep_for(
|
||||
std::chrono::milliseconds(
|
||||
Azure::Core::Http::_detail::DefaultCleanerIntervalMilliseconds + 1000)
|
||||
- ms_double);
|
||||
|
||||
std::uint16_t waitRepeats{0};
|
||||
// wait for the cleanup thread to wake up and run. since this is a timing matter based on when
|
||||
// the thread is scheduled we should let it run to completion max 2 minutes (12*10s)
|
||||
while (Azure::Core::Http::_detail::CurlConnectionPool::g_curlConnectionPool
|
||||
.ConnectionPoolIndex.size()
|
||||
== 1
|
||||
&& waitRepeats < 12)
|
||||
{
|
||||
// sleep for 10 seconds
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(10000));
|
||||
}
|
||||
|
||||
// Check that after the connection is gone and cleaned up, the pool is empty
|
||||
EXPECT_EQ(
|
||||
Azure::Core::Http::_detail::CurlConnectionPool::g_curlConnectionPool.ConnectionPoolIndex
|
||||
|
||||
Loading…
Reference in New Issue
Block a user