[Lldb-commits] [lldb] e83d47f - When the module path for `command script import` is invalid, echo the path.

Jim Ingham via lldb-commits lldb-commits at lists.llvm.org
Mon Jul 18 14:49:15 PDT 2022


Author: Jim Ingham
Date: 2022-07-18T14:49:07-07:00
New Revision: e83d47f6b7bd2f8dcf419e03b3a00d5db5bd61c4

URL: https://github.com/llvm/llvm-project/commit/e83d47f6b7bd2f8dcf419e03b3a00d5db5bd61c4
DIFF: https://github.com/llvm/llvm-project/commit/e83d47f6b7bd2f8dcf419e03b3a00d5db5bd61c4.diff

LOG: When the module path for `command script import` is invalid, echo the path.

We were just emitting "invalid module" w/o saying which module.  That's
not particularly helpful.

Differential Revision: https://reviews.llvm.org/D129338

Added: 
    

Modified: 
    lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    lldb/test/API/commands/command/script/import/TestImport.py

Removed: 
    


################################################################################
diff  --git a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
index 53e2bcaccafbf..a21adcfbdbd60 100644
--- a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
+++ b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
@@ -2637,7 +2637,7 @@ bool ScriptInterpreterPythonImpl::LoadScriptingModule(
                                          .SetSetLLDBGlobals(false);
 
   if (!pathname || !pathname[0]) {
-    error.SetErrorString("invalid pathname");
+    error.SetErrorString("empty path");
     return false;
   }
 
@@ -2707,14 +2707,14 @@ bool ScriptInterpreterPythonImpl::LoadScriptingModule(
       // 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.
       possible_package = true;
     } else if (is_directory(st) || is_regular_file(st)) {
       if (module_file.GetDirectory().IsEmpty()) {
-        error.SetErrorString("invalid directory name");
+        error.SetErrorStringWithFormatv("invalid directory name '{0}'", pathname);
         return false;
       }
       if (llvm::Error e =

diff  --git a/lldb/test/API/commands/command/script/import/TestImport.py b/lldb/test/API/commands/command/script/import/TestImport.py
index ff1fd145ce395..6f3e61b0b45ea 100644
--- a/lldb/test/API/commands/command/script/import/TestImport.py
+++ b/lldb/test/API/commands/command/script/import/TestImport.py
@@ -38,12 +38,13 @@ def cleanup():
         self.runCmd("command script import ./foo/bar/foobar.py --allow-reload")
         self.runCmd("command script import ./bar/bar.py --allow-reload")
 
+        self.expect("command script import ''",
+                    error=True, startstr="error: module importing failed: empty path")
         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')
+                    error=True, startstr="error: module importing failed: invalid pathname './nosuchfolder/'")
         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"])


        


More information about the lldb-commits mailing list