Added a test for the Python part of SBInputReader callbacks.
llvm-svn: 162357
diff --git a/lldb/test/python_api/input_reader/Makefile b/lldb/test/python_api/input_reader/Makefile
new file mode 100644
index 0000000..0d70f25
--- /dev/null
+++ b/lldb/test/python_api/input_reader/Makefile
@@ -0,0 +1,5 @@
+LEVEL = ../../make
+
+C_SOURCES := main.c
+
+include $(LEVEL)/Makefile.rules
diff --git a/lldb/test/python_api/input_reader/TestInputReaderCallback.py b/lldb/test/python_api/input_reader/TestInputReaderCallback.py
new file mode 100644
index 0000000..6a37f8b
--- /dev/null
+++ b/lldb/test/python_api/input_reader/TestInputReaderCallback.py
@@ -0,0 +1,46 @@
+"""Test the SBInputReader callbacks."""
+
+import os
+import unittest2
+import lldb
+from lldbtest import TestBase, python_api_test, dwarf_test
+
+
+class InputReaderCallbackCase(TestBase):
+
+ mydir = os.path.join("python_api", "input_reader")
+
+ @python_api_test
+ @dwarf_test
+ def test_with_dwarf_and_good_callback(self):
+ """Test the SBInputReader callbacks."""
+ def callback(reader, notification, content):
+ global succeeded
+ if (notification == lldb.eInputReaderGotToken):
+ self.succeeded = True
+ return len(content)
+ self.buildDwarf()
+ self.input_reader_callback(callback)
+
+ def setUp(self):
+ # Call super's setUp().
+ TestBase.setUp(self)
+
+ def input_reader_callback(self, callback):
+ """Test the SBInputReader callbacks."""
+ self.succeeded = False
+
+ input_reader = lldb.SBInputReader()
+ input_reader.Initialize(self.dbg, callback, lldb.eInputReaderGranularityByte, "$", "^", False)
+
+ self.dbg.PushInputReader(input_reader)
+ self.dbg.DispatchInput("Hello!$")
+ self.assertFalse(self.dbg.InputReaderIsTopReader(input_reader))
+ self.assertTrue(self.succeeded)
+
+
+if __name__ == '__main__':
+ import atexit
+ lldb.SBDebugger.Initialize()
+ atexit.register(lambda: lldb.SBDebugger.Terminate())
+ unittest2.main()
diff --git a/lldb/test/python_api/input_reader/main.c b/lldb/test/python_api/input_reader/main.c
new file mode 100644
index 0000000..277aa54a
--- /dev/null
+++ b/lldb/test/python_api/input_reader/main.c
@@ -0,0 +1,6 @@
+#include <stdio.h>
+
+int main(int argc, char const *argv[]) {
+ printf("Hello world.\n");
+ return 0;
+}