diff --git a/lldb/unittests/Host/SocketTestUtilities.cpp b/lldb/unittests/Host/SocketTestUtilities.cpp index c56b5f7a7809372b2a453e0aad568543ebedf9ab..e2006b85115dbe0bc2a9d33528522b6f1923f0b4 100644 --- a/lldb/unittests/Host/SocketTestUtilities.cpp +++ b/lldb/unittests/Host/SocketTestUtilities.cpp @@ -101,16 +101,19 @@ static bool CheckIPSupport(llvm::StringRef Proto, llvm::StringRef Addr) { "Creating a canary {0} TCP socket failed: {1}.", Proto, Err) .str(); - if (Err.isA() && - errorToErrorCode(std::move(Err)) == - std::make_error_code(std::errc::address_not_available)) { + bool HasAddrNotAvail = false; + handleAllErrors(std::move(Err), [&](std::unique_ptr ECErr) { + if (ECErr->convertToErrorCode() == + std::make_error_code(std::errc::address_not_available)) + HasAddrNotAvail = true; + }); + if (HasAddrNotAvail) { GTEST_LOG_(WARNING) << llvm::formatv( "Assuming the host does not support {0}. Skipping test.", Proto) .str(); return false; } - consumeError(std::move(Err)); GTEST_LOG_(WARNING) << "Continuing anyway. The test will probably fail."; return true; }