From 896b4513e1bb1a96192b71db9da3ed7955778346 Mon Sep 17 00:00:00 2001 From: Greg Clayton Date: Wed, 25 Jan 2017 21:50:28 +0000 Subject: Fix SBData::SetData() so that it always sets the address byte size correctly and added a test. llvm-svn: 293102 --- .../lldbsuite/test/python_api/sbdata/TestSBData.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'lldb/packages/Python/lldbsuite/test/python_api') diff --git a/lldb/packages/Python/lldbsuite/test/python_api/sbdata/TestSBData.py b/lldb/packages/Python/lldbsuite/test/python_api/sbdata/TestSBData.py index e853d6567e7..0560ac502dc 100644 --- a/lldb/packages/Python/lldbsuite/test/python_api/sbdata/TestSBData.py +++ b/lldb/packages/Python/lldbsuite/test/python_api/sbdata/TestSBData.py @@ -21,6 +21,26 @@ class SBDataAPICase(TestBase): # Find the line number to break on inside main.cpp. self.line = line_number('main.cpp', '// set breakpoint here') + @add_test_categories(['pyapi']) + def test_byte_order_and_address_byte_size(self): + """Test the SBData::SetData() to ensure the byte order and address + byte size are obeyed""" + addr_data = '\x11\x22\x33\x44\x55\x66\x77\x88' + error = lldb.SBError() + data = lldb.SBData() + data.SetData(error, addr_data, lldb.eByteOrderBig, 4) + addr = data.GetAddress(error, 0) + self.assertTrue(addr == 0x11223344); + data.SetData(error, addr_data, lldb.eByteOrderBig, 8) + addr = data.GetAddress(error, 0) + self.assertTrue(addr == 0x1122334455667788); + data.SetData(error, addr_data, lldb.eByteOrderLittle, 4) + addr = data.GetAddress(error, 0) + self.assertTrue(addr == 0x44332211); + data.SetData(error, addr_data, lldb.eByteOrderLittle, 8) + addr = data.GetAddress(error, 0) + self.assertTrue(addr == 0x8877665544332211); + @add_test_categories(['pyapi']) def test_with_run_command(self): """Test the SBData APIs.""" -- cgit v1.2.3