teemperor created this revision. teemperor added reviewers: labath, aprantl. Herald added subscribers: lldb-commits, JDevlieghere. Herald added a project: LLDB.
This renames the test `rdar-12481949` to `get-value-32bit-int` as it just tests that we return the correct result get calling GetValueAsSigned/GetValueAsUnsigned on 32-bit integers. It also deletes all the strange things going on in this test including resetting the data formatters (which are to my knowledge not used to calculate scalar values) and testing Python's long integers (let's just assume that our Python distribution works correctly). Also modernises the setup code. Repository: rLLDB LLDB https://reviews.llvm.org/D72593 Files: lldb/packages/Python/lldbsuite/test/python_api/get-value-32bit-int/Makefile lldb/packages/Python/lldbsuite/test/python_api/get-value-32bit-int/TestGetValue32BitInt.py lldb/packages/Python/lldbsuite/test/python_api/get-value-32bit-int/main.cpp lldb/packages/Python/lldbsuite/test/python_api/rdar-12481949/Makefile lldb/packages/Python/lldbsuite/test/python_api/rdar-12481949/Test-rdar-12481949.py lldb/packages/Python/lldbsuite/test/python_api/rdar-12481949/main.cpp
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 <stdio.h> -#include <stdint.h> -int main () -{ - int32_t myvar = -1; - printf ("%d\n", myvar); // Set break point at this line. - return myvar+1; -} 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/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 <cstdint> +int main () { + int32_t myvar = -1; + return myvar; // break here +} 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)
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits