[Lldb-commits] [PATCH] D127331: [lldb] Update TestModuleLoadedNotifys.py for macOS Ventura

Jonas Devlieghere via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Jun 8 15:33:46 PDT 2022


This revision was automatically updated to reflect the committed changes.
Closed by commit rGc9b55eb80734: [lldb] Update TestModuleLoadedNotifys.py for macOS Ventura (authored by JDevlieghere).
Herald added a project: LLDB.

Changed prior to commit:
  https://reviews.llvm.org/D127331?vs=435282&id=435365#toc

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D127331/new/

https://reviews.llvm.org/D127331

Files:
  lldb/test/API/functionalities/target-new-solib-notifications/TestModuleLoadedNotifys.py


Index: lldb/test/API/functionalities/target-new-solib-notifications/TestModuleLoadedNotifys.py
===================================================================
--- lldb/test/API/functionalities/target-new-solib-notifications/TestModuleLoadedNotifys.py
+++ lldb/test/API/functionalities/target-new-solib-notifications/TestModuleLoadedNotifys.py
@@ -80,14 +80,16 @@
                     total_modules_added_events += 1
                     total_solibs_added += solib_count
                     added_files = []
-                    i = 0
-                    while i < solib_count:
+                    for i in range (solib_count):
                         module = lldb.SBTarget.GetModuleAtIndexFromEvent(i, event)
-                        self.assertTrue(module not in already_loaded_modules)
+                        # On macOS Ventura and later, dyld and the main binary
+                        # will be loaded again when dyld moves itself into the
+                        # shared cache.
+                        if module.file.fullpath not in ['/usr/lib/dyld', exe]:
+                            self.assertTrue(module not in already_loaded_modules, '{} is already loaded'.format(module))
                         already_loaded_modules.append(module)
                         if self.TraceOn():
                             added_files.append(module.GetFileSpec().GetFilename())
-                        i = i + 1
                     if self.TraceOn():
                         # print all of the binaries that have been added
                         print("Loaded files: %s" % (', '.join(added_files)))
@@ -105,11 +107,11 @@
                             removed_files.append(module.GetFileSpec().GetFilename())
                             i = i + 1
                         print("Unloaded files: %s" % (', '.join(removed_files)))
-        
 
-        # This is testing that we get back a small number of events with the loaded 
-        # binaries in batches.  Check that we got back more than 1 solib per event.  
-        # In practice on Darwin today, we get back two events for a do-nothing c 
+
+        # This is testing that we get back a small number of events with the loaded
+        # binaries in batches.  Check that we got back more than 1 solib per event.
+        # In practice on Darwin today, we get back two events for a do-nothing c
         # program: a.out and dyld, and then all the rest of the system libraries.
         # On Linux we get events for ld.so, [vdso], the binary and then all libraries.
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D127331.435365.patch
Type: text/x-patch
Size: 2543 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20220608/abb84275/attachment.bin>


More information about the lldb-commits mailing list