Index: lldb/packages/Python/lldbsuite/test/python_api/get-value-32bit-int/TestGetValue32BitInt.py =================================================================== --- /dev/null +++ lldb/packages/Python/lldbsuite/test/python_api/get-value-32bit-int/TestGetValue32BitInt.py @@ -0,0 +1,19 @@ +""" +Check that SBValue.GetValueAsSigned() does the right thing for a 32-bit -1. +""" + +import lldb +from lldbsuite.test.lldbtest import * +import lldbsuite.test.lldbutil as lldbutil + +class TestCase(TestBase): + + mydir = TestBase.compute_mydir(__file__) + NO_DEBUG_INFO_TESTCASE = True + + def test_with_run_command(self): + self.build() + lldbutil.run_to_source_breakpoint(self,"// break here", lldb.SBFileSpec("main.cpp")) + + self.assertEqual(self.frame().FindVariable("myvar").GetValueAsSigned(), -1) + self.assertEqual(self.frame().FindVariable("myvar").GetValueAsUnsigned(), 0xFFFFFFFF) Index: lldb/packages/Python/lldbsuite/test/python_api/get-value-32bit-int/main.cpp =================================================================== --- /dev/null +++ lldb/packages/Python/lldbsuite/test/python_api/get-value-32bit-int/main.cpp @@ -0,0 +1,5 @@ +#include +int main () { + int32_t myvar = -1; + return myvar; // break here +} Index: lldb/packages/Python/lldbsuite/test/python_api/rdar-12481949/Test-rdar-12481949.py =================================================================== --- lldb/packages/Python/lldbsuite/test/python_api/rdar-12481949/Test-rdar-12481949.py +++ /dev/null @@ -1,66 +0,0 @@ -""" -Check that SBValue.GetValueAsSigned() does the right thing for a 32-bit -1. -""" - - - -import lldb -from lldbsuite.test.lldbtest import * -import lldbsuite.test.lldbutil as lldbutil - - -class Radar12481949DataFormatterTestCase(TestBase): - - # test for rdar://problem/12481949 - mydir = TestBase.compute_mydir(__file__) - NO_DEBUG_INFO_TESTCASE = True - - def setUp(self): - # Call super's setUp(). - TestBase.setUp(self) - # Find the line number to break at. - self.line = line_number('main.cpp', '// Set break point at this line.') - - def test_with_run_command(self): - """Check that SBValue.GetValueAsSigned() does the right thing for a 32-bit -1.""" - self.build() - self.runCmd("file " + self.getBuildArtifact("a.out"), CURRENT_EXECUTABLE_SET) - - lldbutil.run_break_set_by_file_and_line( - self, "main.cpp", self.line, num_expected_locations=1, loc_exact=True) - - self.runCmd("run", RUN_SUCCEEDED) - - # The stop reason of the thread should be breakpoint. - self.expect("thread list", STOPPED_DUE_TO_BREAKPOINT, - substrs=['stopped', - 'stop reason = breakpoint']) - - # This is the function to remove the custom formats in order to have a - # clean slate for the next test case. - def cleanup(): - self.runCmd('type format delete hex', check=False) - self.runCmd('type summary clear', check=False) - - # Execute the cleanup function during test case tear down. - self.addTearDownHook(cleanup) - - self.assertTrue( - self.frame().FindVariable("myvar").GetValueAsSigned() == -1, - "GetValueAsSigned() says -1") - self.assertTrue( - self.frame().FindVariable("myvar").GetValueAsSigned() != 0xFFFFFFFF, - "GetValueAsSigned() does not say 0xFFFFFFFF") - self.assertTrue( - self.frame().FindVariable("myvar").GetValueAsSigned() != 0xFFFFFFFFFFFFFFFF, - "GetValueAsSigned() does not say 0xFFFFFFFFFFFFFFFF") - - self.assertTrue( - self.frame().FindVariable("myvar").GetValueAsUnsigned() != -1, - "GetValueAsUnsigned() does not say -1") - self.assertTrue( - self.frame().FindVariable("myvar").GetValueAsUnsigned() == 0xFFFFFFFF, - "GetValueAsUnsigned() says 0xFFFFFFFF") - self.assertTrue( - self.frame().FindVariable("myvar").GetValueAsUnsigned() != 0xFFFFFFFFFFFFFFFF, - "GetValueAsUnsigned() does not says 0xFFFFFFFFFFFFFFFF") Index: lldb/packages/Python/lldbsuite/test/python_api/rdar-12481949/main.cpp =================================================================== --- lldb/packages/Python/lldbsuite/test/python_api/rdar-12481949/main.cpp +++ /dev/null @@ -1,16 +0,0 @@ -//===-- main.cpp ------------------------------------------------*- C++ -*-===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#include -#include -int main () -{ - int32_t myvar = -1; - printf ("%d\n", myvar); // Set break point at this line. - return myvar+1; -}