forked from OSchip/llvm-project
[lldb][NFC] Rewrite python_api/rdar-12481949 test
Summary: 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. Reviewers: labath, aprantl Reviewed By: aprantl Subscribers: JDevlieghere, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D72593
This commit is contained in:
parent
eca4474587
commit
d8ffd601d5
|
@ -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)
|
|
@ -0,0 +1,5 @@
|
|||
#include <cstdint>
|
||||
int main () {
|
||||
int32_t myvar = -1;
|
||||
return myvar; // break here
|
||||
}
|
|
@ -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")
|
|
@ -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;
|
||||
}
|
Loading…
Reference in New Issue