forked from OSchip/llvm-project
47 lines
1.3 KiB
Python
47 lines
1.3 KiB
Python
"""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()
|