199451b44SJordan Rupprecht# -*- coding: utf-8 -*-
299451b44SJordan Rupprecht"""
399451b44SJordan RupprechtTest unicode handling in LLDB.
499451b44SJordan Rupprecht"""
599451b44SJordan Rupprecht
699451b44SJordan Rupprechtimport os
799451b44SJordan Rupprecht
899451b44SJordan Rupprechtimport lldb
999451b44SJordan Rupprechtfrom lldbsuite.test.decorators import *
1099451b44SJordan Rupprechtfrom lldbsuite.test.lldbtest import *
1199451b44SJordan Rupprechtfrom lldbsuite.test.lldbpexpect import PExpectTest
1299451b44SJordan Rupprecht
1399451b44SJordan Rupprechtclass TestCase(PExpectTest):
1499451b44SJordan Rupprecht
1599451b44SJordan Rupprecht    # PExpect uses many timeouts internally and doesn't play well
1699451b44SJordan Rupprecht    # under ASAN on a loaded machine..
1799451b44SJordan Rupprecht    @skipIfAsan
18*8813bc02SMuhammad Omair Javaid    @skipIf(oslist=["linux"], archs=["arm", "aarch64"]) # Randomly fails on buildbot
1999451b44SJordan Rupprecht    def test_unicode_input(self):
2099451b44SJordan Rupprecht        self.launch()
2199451b44SJordan Rupprecht
2299451b44SJordan Rupprecht        # Send some unicode input to LLDB.
2399451b44SJordan Rupprecht        # We should get back that this is an invalid command with our character as UTF-8.
2499451b44SJordan Rupprecht        self.expect(u'\u1234', substrs=[u"error: '\u1234' is not a valid command.".encode('utf-8')])
2599451b44SJordan Rupprecht
2699451b44SJordan Rupprecht        self.quit()
27