From f07f2cee9b4e19df78a19c9b2b552e2e5ba9d478 Mon Sep 17 00:00:00 2001 From: Pavel Labath Date: Tue, 28 Apr 2020 13:33:52 +0200 Subject: [PATCH] [lldb/unittest] Adjust CheckIPSupport function to avoid double-consume of llvm::Error The problem caught by clang-tidy and reported by Tobias Bosch. --- lldb/unittests/Host/SocketTestUtilities.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lldb/unittests/Host/SocketTestUtilities.cpp b/lldb/unittests/Host/SocketTestUtilities.cpp index c56b5f7a7809..e2006b85115d 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; } -- GitLab