summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/darwin_log.py
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/darwin_log.py')
-rw-r--r--lldb/packages/Python/lldbsuite/test/darwin_log.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/darwin_log.py b/lldb/packages/Python/lldbsuite/test/darwin_log.py
index c613ea46782..3207ef0bccd 100644
--- a/lldb/packages/Python/lldbsuite/test/darwin_log.py
+++ b/lldb/packages/Python/lldbsuite/test/darwin_log.py
@@ -325,6 +325,11 @@ class DarwinLogEventBasedTestBase(lldbtest.TestBase):
self.runCmd("settings set target.process.extra-startup-command "
"QSetLogging:bitmask=LOG_DARWIN_LOG;")
+ def darwin_log_available(self):
+ match = self.match("plugin structured-data darwin-log status",
+ patterns=[r"Availability: ([\S]+)"])
+ return match is not None and (match.group(1) == "available")
+
def do_test(self, enable_options, settings_commands=None,
run_enable_after_breakpoint=False, max_entry_count=None):
"""Runs the test inferior, returning collected events.
@@ -401,6 +406,14 @@ class DarwinLogEventBasedTestBase(lldbtest.TestBase):
# And our one and only breakpoint should have been hit.
self.assertEquals(breakpoint.GetHitCount(), 1)
+ # Check if DarwinLog is available. This check cannot be done
+ # until after the process has started, as the feature availability
+ # comes through the stub. The stub isn't running until
+ # the target process is running. So this is really the earliest
+ # we can check.
+ if not self.darwin_log_available():
+ self.skipTest("DarwinLog not available")
+
# Now setup the structured data listener.
#
# Grab the broadcaster for the process. We'll be attaching our
OpenPOWER on IntegriCloud