forked from OSchip/llvm-project
parent
b31b94a8f7
commit
40dc7eb150
|
@ -3,8 +3,3 @@ LEVEL = ../../make
|
|||
C_SOURCES := main.c
|
||||
|
||||
include $(LEVEL)/Makefile.rules
|
||||
LEVEL = ../../make
|
||||
|
||||
C_SOURCES := main.c
|
||||
|
||||
include $(LEVEL)/Makefile.rules
|
||||
|
|
|
@ -5,66 +5,6 @@ Test SBSection APIs.
|
|||
import unittest2
|
||||
from lldbtest import *
|
||||
|
||||
class SectionAPITestCase(TestBase):
|
||||
|
||||
mydir = TestBase.compute_mydir(__file__)
|
||||
|
||||
@unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
|
||||
@python_api_test
|
||||
@dsym_test
|
||||
def test_get_target_byte_size_with_dsym(self):
|
||||
d = {'EXE': 'a.out'}
|
||||
self.buildDsym(dictionary=d)
|
||||
self.setTearDownCleanup(dictionary=d)
|
||||
target = self.create_simple_target('a.out')
|
||||
|
||||
# find the .data section of the main module
|
||||
data_section = self.find_data_section(target)
|
||||
|
||||
self.assertEquals(data_section.target_byte_size, 1)
|
||||
|
||||
@python_api_test
|
||||
@dwarf_test
|
||||
def test_get_target_byte_size_with_dwarf(self):
|
||||
d = {'EXE': 'b.out'}
|
||||
self.buildDwarf(dictionary=d)
|
||||
self.setTearDownCleanup(dictionary=d)
|
||||
target = self.create_simple_target('b.out')
|
||||
|
||||
# find the .data section of the main module
|
||||
data_section = self.find_data_section(target)
|
||||
|
||||
self.assertEquals(data_section.target_byte_size, 1)
|
||||
|
||||
def create_simple_target(self, fn):
|
||||
exe = os.path.join(os.getcwd(), fn)
|
||||
target = self.dbg.CreateTarget(exe)
|
||||
self.assertTrue(target, VALID_TARGET)
|
||||
return target
|
||||
|
||||
def find_data_section(self, target):
|
||||
mod = target.GetModuleAtIndex(0)
|
||||
data_section = None
|
||||
for s in mod.sections:
|
||||
if ".data" == s.name:
|
||||
data_section = s
|
||||
break
|
||||
|
||||
self.assertIsNotNone(data_section)
|
||||
return data_section
|
||||
|
||||
if __name__ == '__main__':
|
||||
import atexit
|
||||
lldb.SBDebugger.Initialize()
|
||||
atexit.register(lambda: lldb.SBDebugger.Terminate())
|
||||
unittest2.main()
|
||||
"""
|
||||
Test SBSection APIs.
|
||||
"""
|
||||
|
||||
import unittest2
|
||||
from lldbtest import *
|
||||
|
||||
class SectionAPITestCase(TestBase):
|
||||
|
||||
mydir = TestBase.compute_mydir(__file__)
|
||||
|
|
|
@ -26,31 +26,3 @@ int main (int argc, char const *argv[])
|
|||
|
||||
return my_global_var_of_char_type;
|
||||
}
|
||||
//===-- main.c --------------------------------------------------*- C++ -*-===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
// This simple program is to test the lldb Python API SBSection. It includes
|
||||
// somes global data, and so the build process produces a DATA section, which
|
||||
// the test code can use to query for the target byte size
|
||||
|
||||
char my_global_var_of_char_type = 'X';
|
||||
|
||||
int main (int argc, char const *argv[])
|
||||
{
|
||||
// this code just "does something" with the global so that it is not
|
||||
// optimised away
|
||||
if (argc > 1 && strlen(argv[1]))
|
||||
{
|
||||
my_global_var_of_char_type += argv[1][0];
|
||||
}
|
||||
|
||||
return my_global_var_of_char_type;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue