mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-23 22:00:10 +00:00
[lldb][Test] Propagate llvm::yaml error message in TestFile::fromYaml
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. ``` Differential Revision: https://reviews.llvm.org/D140112
This commit is contained in:
parent
a1b4e13cff
commit
c46587bb83
@ -30,9 +30,11 @@ llvm::Expected<TestFile> TestFile::fromYaml(llvm::StringRef Yaml) {
|
||||
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));
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user