forked from OSchip/llvm-project
[lldb] Fix that log enable's -f parameter causes LLDB to crash when it can't open the log file
We didn't do anything with the llvm::Error we get from `Open`, so when we end up in the error case we just crash due to the llvm::Error sanity check. Also add the missing newline behind the error message so it no longer messes with the next (lldb) prompt. Reviewed By: JDevlieghere Differential Revision: https://reviews.llvm.org/D85970
This commit is contained in:
parent
c57ea1b48f
commit
867c347c32
|
@ -1164,11 +1164,11 @@ bool Debugger::EnableLog(llvm::StringRef channel,
|
|||
flags |= File::eOpenOptionAppend;
|
||||
else
|
||||
flags |= File::eOpenOptionTruncate;
|
||||
auto file = FileSystem::Instance().Open(
|
||||
llvm::Expected<FileUP> file = FileSystem::Instance().Open(
|
||||
FileSpec(log_file), flags, lldb::eFilePermissionsFileDefault, false);
|
||||
if (!file) {
|
||||
// FIXME: This gets garbled when called from the log command.
|
||||
error_stream << "Unable to open log file: " << log_file;
|
||||
error_stream << "Unable to open log file '" << log_file
|
||||
<< "': " << llvm::toString(file.takeError()) << "\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -15,3 +15,8 @@ class InvalidArgsLogTestCase(TestBase):
|
|||
def test_disable_empty(self):
|
||||
self.expect("log disable", error=True,
|
||||
substrs=["error: log disable takes a log channel and one or more log types."])
|
||||
|
||||
@no_debug_info_test
|
||||
def test_enable_empty(self):
|
||||
self.expect("log enable lldb all -f this/is/not/a/valid/path", error=True,
|
||||
substrs=["Unable to open log file 'this/is/not/a/valid/path': No such file or directory\n"])
|
||||
|
|
Loading…
Reference in New Issue