diff --git a/lldb/include/lldb/Host/Editline.h b/lldb/include/lldb/Host/Editline.h --- a/lldb/include/lldb/Host/Editline.h +++ b/lldb/include/lldb/Host/Editline.h @@ -32,6 +32,8 @@ #define liblldb_Editline_h_ #if defined(__cplusplus) +#include "lldb/Host/Config.h" + #if LLDB_EDITLINE_USE_WCHAR #include #endif diff --git a/lldb/packages/Python/lldbsuite/test/iohandler/unicode/TestUnicode.py b/lldb/packages/Python/lldbsuite/test/iohandler/unicode/TestUnicode.py new file mode 100644 --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/iohandler/unicode/TestUnicode.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +""" +Test unicode handling in LLDB. +""" + +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__) + + # PExpect uses many timeouts internally and doesn't play well + # under ASAN on a loaded machine.. + @skipIfAsan + def test_unicode_input(self): + self.launch() + + # Send some unicode input to LLDB. + # We should get back that this is an invalid command with our character as UTF-8. + self.expect(u'\u1234', substrs=[u"error: '\u1234' is not a valid command.".encode('utf-8')]) + + self.quit()