================
@@ -18,6 +18,26 @@ def tearDown(self):
         if self.background_pid:
             os.kill(self.background_pid, signal.SIGKILL)
 
+    def test_getname(self):
+        """Test the SBModule::GetName() method"""
+        self.build()
+        target, _, _, _ = lldbutil.run_to_source_breakpoint(
+            self, "// break here", lldb.SBFileSpec("main.c")
+        )
+
+        self.assertGreater(target.GetNumModules(), 0)
+        for i in range(target.GetNumModules()):
+            module = target.GetModuleAtIndex(i)
+            file_spec = module.GetFileSpec()
+            name = module.GetName()
+            if file_spec.IsValid() and file_spec.exists:
+#If file is valid and file exist, expect GetName() to be None
+                self.assertIsNone(name, f"Expected None for module with valid 
file {file_spec.GetFilename()}, got {name!r}")
+            else:
+#If no valid file, expect GetName() to be a non - empty string
+                self.assertIsInstance(name, str)
+                self.assertTrue(name, "Expected a non-empty name for module 
without a valid file")
----------------
Jlalond wrote:

Thanks for the great context on this Pavel

> What do you intend to use this for? Just show it to the user, or use in some 
> sort of a critical capacity?

I'm currently trying to generate some metrics around Modules, and there are 
some cases where I don't have access to the UUID. I think the identifier would 
be great, but a generic name field would also be nice for logging.

Should we pivot this change to expose the `m_file` name if `m_object_name` is 
not present? If I follow correct the precedence of 'uniqueness' is 

- UUID
- The numerical ID you linked
- Object name
- File name

Having a 'helper' accessor exposing the object name or the file name would 
solve my needs.


https://github.com/llvm/llvm-project/pull/150331
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to