diff options
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/lang/objc')
7 files changed, 54 insertions, 17 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/lang/objc/conflicting-definition/Makefile b/lldb/packages/Python/lldbsuite/test/lang/objc/conflicting-definition/Makefile index 3d24348618d..2d6de6f1514 100644 --- a/lldb/packages/Python/lldbsuite/test/lang/objc/conflicting-definition/Makefile +++ b/lldb/packages/Python/lldbsuite/test/lang/objc/conflicting-definition/Makefile @@ -1,6 +1,20 @@ LEVEL = ../../../make -CFLAGS = -g -O0 +CC ?= clang +ifeq "$(ARCH)" "" + ARCH = x86_64 +endif + +ifeq "$(OS)" "" + OS = $(shell uname -s) +endif + +CFLAGS ?= -g -O0 + +ifeq "$(OS)" "Darwin" + CFLAGS += -arch $(ARCH) +endif + LDFLAGS = $(CFLAGS) -lobjc -framework Foundation all: a.out libTest.dylib libTestExt.dylib diff --git a/lldb/packages/Python/lldbsuite/test/lang/objc/conflicting-definition/TestConflictingDefinition.py b/lldb/packages/Python/lldbsuite/test/lang/objc/conflicting-definition/TestConflictingDefinition.py index 564a1e15c06..df3a41fedf6 100644 --- a/lldb/packages/Python/lldbsuite/test/lang/objc/conflicting-definition/TestConflictingDefinition.py +++ b/lldb/packages/Python/lldbsuite/test/lang/objc/conflicting-definition/TestConflictingDefinition.py @@ -21,6 +21,7 @@ class TestRealDefinition(TestBase): if self.getArchitecture() == 'i386': self.skipTest("requires modern objc runtime") self.build() + self.shlib_names = ["libTestExt.dylib", "libTest.dylib"] self.common_setup() line = line_number('TestExt/TestExt.m', '// break here') @@ -46,4 +47,7 @@ class TestRealDefinition(TestBase): def common_setup(self): exe = os.path.join(os.getcwd(), "a.out") + target = self.dbg.CreateTarget(exe) + self.registerSharedLibrariesWithTarget(target, self.shlib_names) + self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET) diff --git a/lldb/packages/Python/lldbsuite/test/lang/objc/ivar-IMP/Makefile b/lldb/packages/Python/lldbsuite/test/lang/objc/ivar-IMP/Makefile index 329ceabeea9..bd940ab148c 100644 --- a/lldb/packages/Python/lldbsuite/test/lang/objc/ivar-IMP/Makefile +++ b/lldb/packages/Python/lldbsuite/test/lang/objc/ivar-IMP/Makefile @@ -1,12 +1,28 @@ LEVEL = ../../../make -myclass.o: myclass.h myclass.m - $(CC) myclass.m -c -o myclass.o +CC ?= clang +ifeq "$(ARCH)" "" + ARCH = x86_64 +endif -repro: myclass.o repro.m - $(CC) -g -O0 myclass.o repro.m -framework Foundation +ifeq "$(OS)" "" + OS = $(shell uname -s) +endif -cleanup: - rm -r myclass.o +CFLAGS ?= -g -O0 +CFLAGS_NO_DEBUG = +ifeq "$(OS)" "Darwin" + CFLAGS += -arch $(ARCH) + CFLAGS_NO_DEBUG += -arch $(ARCH) +endif + +all: aout + +aout: + $(CC) $(CFLAGS_NO_DEBUG) myclass.m -c -o myclass.o + $(CC) $(CFLAGS) myclass.o repro.m -framework Foundation + +clean:: + rm -f myclass.o include $(LEVEL)/Makefile.rules diff --git a/lldb/packages/Python/lldbsuite/test/lang/objc/ivar-IMP/TestObjCiVarIMP.py b/lldb/packages/Python/lldbsuite/test/lang/objc/ivar-IMP/TestObjCiVarIMP.py index 79b7ee5dbfb..d29476727bd 100644 --- a/lldb/packages/Python/lldbsuite/test/lang/objc/ivar-IMP/TestObjCiVarIMP.py +++ b/lldb/packages/Python/lldbsuite/test/lang/objc/ivar-IMP/TestObjCiVarIMP.py @@ -30,15 +30,11 @@ class ObjCiVarIMPTestCase(TestBase): mydir = TestBase.compute_mydir(__file__) @skipUnlessDarwin + @skipIf(archs=['i386']) # objc file does not build for i386 @no_debug_info_test def test_imp_ivar_type(self): """Test that dynamically discovered ivars of type IMP do not crash LLDB""" - execute_command("make repro") - - def cleanup(): - execute_command("make cleanup") - self.addTearDownHook(cleanup) - + self.build() exe = os.path.join(os.getcwd(), "a.out") # Create a target from the debugger. diff --git a/lldb/packages/Python/lldbsuite/test/lang/objc/objc-struct-argument/TestObjCStructArgument.py b/lldb/packages/Python/lldbsuite/test/lang/objc/objc-struct-argument/TestObjCStructArgument.py index 75f726340ef..650923a729e 100644 --- a/lldb/packages/Python/lldbsuite/test/lang/objc/objc-struct-argument/TestObjCStructArgument.py +++ b/lldb/packages/Python/lldbsuite/test/lang/objc/objc-struct-argument/TestObjCStructArgument.py @@ -25,6 +25,7 @@ class TestObjCStructArgument(TestBase): @skipUnlessDarwin @add_test_categories(['pyapi']) + @skipIf(debug_info=no_match(["gmodules"]), oslist=['ios', 'watchos', 'tvos', 'bridgeos'], archs=['armv7', 'arm64']) # this test program only builds for ios with -gmodules def test_with_python_api(self): """Test passing structs to Objective-C methods.""" self.build() diff --git a/lldb/packages/Python/lldbsuite/test/lang/objc/objc-struct-argument/test.m b/lldb/packages/Python/lldbsuite/test/lang/objc/objc-struct-argument/test.m index f013c560239..337ab3408ce 100644 --- a/lldb/packages/Python/lldbsuite/test/lang/objc/objc-struct-argument/test.m +++ b/lldb/packages/Python/lldbsuite/test/lang/objc/objc-struct-argument/test.m @@ -1,4 +1,10 @@ #import <Foundation/Foundation.h> +#include <TargetConditionals.h> + +#if TARGET_OS_IPHONE +@import CoreGraphics; +typedef CGRect NSRect; +#endif struct things_to_sum { int a; diff --git a/lldb/packages/Python/lldbsuite/test/lang/objc/rdar-11355592/TestRdar11355592.py b/lldb/packages/Python/lldbsuite/test/lang/objc/rdar-11355592/TestRdar11355592.py index 26afe71d1de..d1956d46e7b 100644 --- a/lldb/packages/Python/lldbsuite/test/lang/objc/rdar-11355592/TestRdar11355592.py +++ b/lldb/packages/Python/lldbsuite/test/lang/objc/rdar-11355592/TestRdar11355592.py @@ -46,13 +46,13 @@ class Rdar10967107TestCase(TestBase): self.runCmd("run", RUN_SUCCEEDED) # check that we correctly see the const char*, even with dynamic types # on - self.expect("frame variable my_string", substrs=['const char *']) + self.expect("frame variable -raw-output my_string", substrs=['const char *']) self.expect( - "frame variable my_string --dynamic-type run-target", + "frame variable my_string --raw-output --dynamic-type run-target", substrs=['const char *']) # check that expr also gets it right - self.expect("expr my_string", substrs=['const char *']) - self.expect("expr -d run -- my_string", substrs=['const char *']) + self.expect("e -R -- my_string", substrs=['const char *']) + self.expect("expr -R -d run -- my_string", substrs=['const char *']) # but check that we get the real Foolie as such self.expect("frame variable my_foolie", substrs=['FoolMeOnce *']) self.expect( |