From 7e8de59b9059a2eec1367f32c0a06561f5e025ac Mon Sep 17 00:00:00 2001 From: Ulrich Weigand Date: Thu, 14 Apr 2016 14:35:02 +0000 Subject: Fix test cases for big-endian systems A number of test cases were failing on big-endian systems simply due to byte order assumptions in the tests themselves, and no underlying bug in LLDB. These two test cases: tools/lldb-server/lldbgdbserverutils.py python_api/process/TestProcessAPI.py actually check for big-endian target byte order, but contain Python errors in the corresponding code paths. These test cases: functionalities/data-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py functionalities/data-formatter/data-formatter-smart-array/TestDataFormatterSmartArray.py functionalities/data-formatter/synthcapping/TestSyntheticCapping.py lang/cpp/frame-var-anon-unions/TestFrameVariableAnonymousUnions.py python_api/sbdata/TestSBData.py (first change) could be fixed to check for big-endian target byte order and update the expected result strings accordingly. For the two synthetic tests, I've also updated the source to make sure the fake_a value is always nonzero on both big- and little-endian platforms. These test case: python_api/sbdata/TestSBData.py (second change) functionalities/memory/cache/TestMemoryCache.py simply accessed memory with the wrong size, which wasn't noticed on LE but fails on BE. Differential Revision: http://reviews.llvm.org/D18985 llvm-svn: 266315 --- lldb/packages/Python/lldbsuite/test/python_api/process/TestProcessAPI.py | 1 + 1 file changed, 1 insertion(+) (limited to 'lldb/packages/Python/lldbsuite/test/python_api/process/TestProcessAPI.py') diff --git a/lldb/packages/Python/lldbsuite/test/python_api/process/TestProcessAPI.py b/lldb/packages/Python/lldbsuite/test/python_api/process/TestProcessAPI.py index 7ddce88d809..d5f407155b2 100644 --- a/lldb/packages/Python/lldbsuite/test/python_api/process/TestProcessAPI.py +++ b/lldb/packages/Python/lldbsuite/test/python_api/process/TestProcessAPI.py @@ -232,6 +232,7 @@ class ProcessAPITestCase(TestBase): # The bytearray_to_int utility function expects a little endian bytearray. if byteOrder == lldb.eByteOrderBig: + content = bytearray(content, 'ascii') content.reverse() new_value = bytearray_to_int(content, byteSize) -- cgit v1.2.3