summaryrefslogtreecommitdiff
path: root/lldb/test/API/api/multithreaded/TestMultithreaded.py
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/test/API/api/multithreaded/TestMultithreaded.py')
-rw-r--r--lldb/test/API/api/multithreaded/TestMultithreaded.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/lldb/test/API/api/multithreaded/TestMultithreaded.py b/lldb/test/API/api/multithreaded/TestMultithreaded.py
index 07c9f5b9bbcc..d5b29ec7af18 100644
--- a/lldb/test/API/api/multithreaded/TestMultithreaded.py
+++ b/lldb/test/API/api/multithreaded/TestMultithreaded.py
@@ -22,6 +22,7 @@ class SBBreakpointCallbackCase(TestBase):
self.generateSource("test_listener_event_process_state.cpp")
self.generateSource("test_listener_resume.cpp")
self.generateSource("test_stop-hook.cpp")
+ self.generateSource("test_concurrent_unwind.cpp")
@skipIfRemote
# clang-cl does not support throw or catch (llvm.org/pr24538)
@@ -91,7 +92,19 @@ class SBBreakpointCallbackCase(TestBase):
"test_listener_resume",
)
- def build_and_test(self, sources, test_name, args=None):
+ @skipIfRemote
+ # clang-cl does not support throw or catch (llvm.org/pr24538)
+ @skipIfWindows
+ @skipIfHostIncompatibleWithTarget
+ def test_concurrent_unwind(self):
+ """Test that you can run a python command in a stop-hook when stdin is File based."""
+ self.build_and_test(
+ "driver.cpp test_concurrent_unwind.cpp",
+ "test_concurrent_unwind",
+ inferior_source="deep_stack.cpp",
+ )
+
+ def build_and_test(self, sources, test_name, inferior_source="inferior.cpp"):
"""Build LLDB test from sources, and run expecting 0 exit code"""
# These tests link against host lldb API.
@@ -104,7 +117,7 @@ class SBBreakpointCallbackCase(TestBase):
)
self.inferior = "inferior_program"
- self.buildProgram("inferior.cpp", self.inferior)
+ self.buildProgram(inferior_source, self.inferior)
self.addTearDownHook(lambda: os.remove(self.getBuildArtifact(self.inferior)))
self.buildDriver(sources, test_name)