Michael137 created this revision. Michael137 added reviewers: aprantl, JDevlieghere. Herald added a project: All. Michael137 requested review of this revision. Herald added a project: LLDB. Herald added a subscriber: lldb-commits.
Currently the test-suite would swallow the error message on `llvm::yaml::convertYAML` failures. This patch simply propagates the error string up to the caller. Before patch: [ RUN ] DWARFASTParserClangTests.TestDefaultTemplateParamParsing /Users/michaelbuch/Git/llvm-worktrees/playground/lldb/unittests/TestingSupport/Symbol/YAMLModuleTester.cpp:19: Failure Value of: llvm::detail::TakeExpected(File) Expected: succeeded Actual: failed (convertYAML() failed: ) Assertion failed: (!HasError && "Cannot get value when an error exists!"), function getStorage, file Error.h, line 671. After patch: [ RUN ] DWARFASTParserClangTests.TestDefaultTemplateParamParsing /Users/michaelbuch/Git/llvm-worktrees/playground/lldb/unittests/TestingSupport/Symbol/YAMLModuleTester.cpp:19: Failure Value of: llvm::detail::TakeExpected(File) Expected: succeeded Actual: failed (convertYAML() failed: wrote too much data somewhere, section offsets don't line up) Assertion failed: (!HasError && "Cannot get value when an error exists!"), function getStorage, file Error.h, line 671. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D140112 Files: lldb/unittests/TestingSupport/TestUtilities.cpp Index: lldb/unittests/TestingSupport/TestUtilities.cpp =================================================================== --- lldb/unittests/TestingSupport/TestUtilities.cpp +++ lldb/unittests/TestingSupport/TestUtilities.cpp @@ -30,9 +30,11 @@ std::string Buffer; llvm::raw_string_ostream OS(Buffer); llvm::yaml::Input YIn(Yaml); - if (!llvm::yaml::convertYAML(YIn, OS, [](const llvm::Twine &Msg) {})) - return llvm::createStringError(llvm::inconvertibleErrorCode(), - "convertYAML() failed"); + std::string ErrorMsg("convertYAML() failed: "); + if (!llvm::yaml::convertYAML(YIn, OS, [&ErrorMsg](const llvm::Twine &Msg) { + ErrorMsg += Msg.str(); + })) + return llvm::createStringError(llvm::inconvertibleErrorCode(), ErrorMsg); return TestFile(std::move(Buffer)); }
Index: lldb/unittests/TestingSupport/TestUtilities.cpp =================================================================== --- lldb/unittests/TestingSupport/TestUtilities.cpp +++ lldb/unittests/TestingSupport/TestUtilities.cpp @@ -30,9 +30,11 @@ std::string Buffer; llvm::raw_string_ostream OS(Buffer); llvm::yaml::Input YIn(Yaml); - if (!llvm::yaml::convertYAML(YIn, OS, [](const llvm::Twine &Msg) {})) - return llvm::createStringError(llvm::inconvertibleErrorCode(), - "convertYAML() failed"); + std::string ErrorMsg("convertYAML() failed: "); + if (!llvm::yaml::convertYAML(YIn, OS, [&ErrorMsg](const llvm::Twine &Msg) { + ErrorMsg += Msg.str(); + })) + return llvm::createStringError(llvm::inconvertibleErrorCode(), ErrorMsg); return TestFile(std::move(Buffer)); }
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits