This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rGf93d861349f9: [lldb] Fix ^C handling in
IOHandlerProcessSTDIO (authored by labath, committed by JDevlieghere).
Changed prior to commit:
https://reviews.llvm.org/D121912?vs=416172&id=416274#toc
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D121912/new/
https://reviews.llvm.org/D121912
Files:
lldb/lldb/test/API/iohandler/sigint/Makefile
lldb/lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py
lldb/lldb/test/API/iohandler/sigint/cat.cpp
Index: lldb/lldb/test/API/iohandler/sigint/cat.cpp
===================================================================
--- /dev/null
+++ lldb/lldb/test/API/iohandler/sigint/cat.cpp
@@ -0,0 +1,12 @@
+#include <iostream>
+
+void input_copy_loop() {
+ std::string str;
+ while (std::getline(std::cin, str))
+ std::cout << "read: " << str << std::endl;
+}
+
+int main() {
+ input_copy_loop();
+ return 0;
+}
Index: lldb/lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py
===================================================================
--- /dev/null
+++ lldb/lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py
@@ -0,0 +1,42 @@
+"""
+Test sending SIGINT Process IOHandler
+"""
+
+import os
+
+import lldb
+from lldbsuite.test.decorators import *
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test.lldbpexpect import PExpectTest
+
+class TestCase(PExpectTest):
+
+ mydir = TestBase.compute_mydir(__file__)
+
+ def test(self):
+ self.build(dictionary={"CXX_SOURCES":"cat.cpp"})
+ self.launch(executable=self.getBuildArtifact(), timeout=5)
+
+ self.child.sendline("process launch")
+ self.child.expect("Process .* launched")
+
+ self.child.sendline("Hello cat")
+ self.child.expect_exact("read: Hello cat")
+
+ self.child.sendintr()
+ self.child.expect("Process .* stopped")
+ self.expect_prompt()
+
+ self.expect("bt", substrs=["input_copy_loop"])
+
+ self.child.sendline("continue")
+ self.child.expect("Process .* resuming")
+
+ self.child.sendline("Goodbye cat")
+ self.child.expect_exact("read: Goodbye cat")
+
+ self.child.sendeof()
+ self.child.expect("Process .* exited")
+ self.expect_prompt()
+
+ self.quit()
Index: lldb/lldb/test/API/iohandler/sigint/Makefile
===================================================================
--- /dev/null
+++ lldb/lldb/test/API/iohandler/sigint/Makefile
@@ -0,0 +1 @@
+include Makefile.rules
Index: lldb/lldb/test/API/iohandler/sigint/cat.cpp
===================================================================
--- /dev/null
+++ lldb/lldb/test/API/iohandler/sigint/cat.cpp
@@ -0,0 +1,12 @@
+#include <iostream>
+
+void input_copy_loop() {
+ std::string str;
+ while (std::getline(std::cin, str))
+ std::cout << "read: " << str << std::endl;
+}
+
+int main() {
+ input_copy_loop();
+ return 0;
+}
Index: lldb/lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py
===================================================================
--- /dev/null
+++ lldb/lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py
@@ -0,0 +1,42 @@
+"""
+Test sending SIGINT Process IOHandler
+"""
+
+import os
+
+import lldb
+from lldbsuite.test.decorators import *
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test.lldbpexpect import PExpectTest
+
+class TestCase(PExpectTest):
+
+ mydir = TestBase.compute_mydir(__file__)
+
+ def test(self):
+ self.build(dictionary={"CXX_SOURCES":"cat.cpp"})
+ self.launch(executable=self.getBuildArtifact(), timeout=5)
+
+ self.child.sendline("process launch")
+ self.child.expect("Process .* launched")
+
+ self.child.sendline("Hello cat")
+ self.child.expect_exact("read: Hello cat")
+
+ self.child.sendintr()
+ self.child.expect("Process .* stopped")
+ self.expect_prompt()
+
+ self.expect("bt", substrs=["input_copy_loop"])
+
+ self.child.sendline("continue")
+ self.child.expect("Process .* resuming")
+
+ self.child.sendline("Goodbye cat")
+ self.child.expect_exact("read: Goodbye cat")
+
+ self.child.sendeof()
+ self.child.expect("Process .* exited")
+ self.expect_prompt()
+
+ self.quit()
Index: lldb/lldb/test/API/iohandler/sigint/Makefile
===================================================================
--- /dev/null
+++ lldb/lldb/test/API/iohandler/sigint/Makefile
@@ -0,0 +1 @@
+include Makefile.rules
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits