[Lldb-commits] [PATCH] D129338: Tell the user which pathname was invalid...
Jim Ingham via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Thu Jul 7 18:03:42 PDT 2022
jingham created this revision.
jingham added a reviewer: JDevlieghere.
Herald added a project: All.
jingham requested review of this revision.
Herald added a project: LLDB.
Herald added a subscriber: lldb-commits.
When there's an error with the pathname in "command script import" lldb just says "error: module importing failed: invalid pathname" but doesn't actually tell you what the bad pathname was. When you're loading some python module that imports a bunch of other modules, that makes it hard to figure out which one was bad.
I changed it to either say "empty path" if that was the error, or report the pathname otherwise. I added a test as well.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D129338
Files:
lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
lldb/test/API/commands/command/script/import/TestImport.py
Index: lldb/test/API/commands/command/script/import/TestImport.py
===================================================================
--- lldb/test/API/commands/command/script/import/TestImport.py
+++ lldb/test/API/commands/command/script/import/TestImport.py
@@ -39,11 +39,10 @@
self.runCmd("command script import ./bar/bar.py --allow-reload")
self.expect("command script import ./nosuchfile.py",
- error=True, startstr='error: module importing failed')
+ error=True, startstr="error: module importing failed: invalid pathname './nosuchfile.py'")
self.expect("command script import ./nosuchfolder/",
error=True, startstr='error: module importing failed')
self.expect("command script import ./foo/foo.py", error=False)
-
self.runCmd("command script import --allow-reload ./thepackage")
self.expect("TPcommandA", substrs=["hello world A"])
self.expect("TPcommandB", substrs=["hello world B"])
Index: lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
===================================================================
--- lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
+++ lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
@@ -2637,7 +2637,7 @@
.SetSetLLDBGlobals(false);
if (!pathname || !pathname[0]) {
- error.SetErrorString("invalid pathname");
+ error.SetErrorString("empty path");
return false;
}
@@ -2707,7 +2707,7 @@
// if not a valid file of any sort, check if it might be a filename still
// dot can't be used but / and \ can, and if either is found, reject
if (strchr(pathname, '\\') || strchr(pathname, '/')) {
- error.SetErrorString("invalid pathname");
+ error.SetErrorStringWithFormatv("invalid pathname '{0}'", pathname);
return false;
}
// Not a filename, probably a package of some sort, let it go through.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D129338.443100.patch
Type: text/x-patch
Size: 2041 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20220708/eee953df/attachment.bin>
More information about the lldb-commits
mailing list