import lldbsuite.test.lldbutil as lldbutil
from lldbsuite.test.lldbtest import *
from lldbsuite.test.decorators import *
+from os.path import exists
def get_os_version():
return m.group(1)
return None
+def rosetta_debugserver_installed():
+ return exists("/Library/Apple/usr/libexec/oah/debugserver")
def has_rosetta_shared_cache(os_version):
if not os_version:
self.build()
self.main_source_file = lldb.SBFileSpec("main.c")
- broadcaster = self.dbg.GetBroadcaster()
- listener = lldbutil.start_listening_from(
- broadcaster, lldb.SBDebugger.eBroadcastBitWarning)
+ if rosetta_debugserver_installed():
+ broadcaster = self.dbg.GetBroadcaster()
+ listener = lldbutil.start_listening_from(
+ broadcaster, lldb.SBDebugger.eBroadcastBitWarning)
- target, process, thread, bkpt = lldbutil.run_to_source_breakpoint(
- self, "Set a breakpoint here", self.main_source_file)
+ target, process, thread, bkpt = lldbutil.run_to_source_breakpoint(
+ self, "Set a breakpoint here", self.main_source_file)
- event = lldb.SBEvent()
- os_version = get_os_version()
- if not has_rosetta_shared_cache(os_version):
- self.assertTrue(listener.GetNextEvent(event))
- else:
- self.assertFalse(listener.GetNextEvent(event))
+ event = lldb.SBEvent()
+ os_version = get_os_version()
+ if not has_rosetta_shared_cache(os_version):
+ self.assertTrue(listener.GetNextEvent(event))
+ else:
+ self.assertFalse(listener.GetNextEvent(event))