From 244cccfce80609dd1c1559a524dce1e25a33a021 Mon Sep 17 00:00:00 2001 From: Adrian Prantl Date: Thu, 8 Feb 2018 21:52:28 +0000 Subject: [PATCH] Rewrite testcase to not depend on Foundation implementation details. TODO: Add a separate testcase testing *only* Foundation implementation details! llvm-svn: 324655 --- .../test/lang/objc/modules-incomplete/Makefile | 2 +- .../objc/modules-incomplete/TestIncompleteModules.py | 11 ++++------- .../test/lang/objc/modules-incomplete/main.m | 12 ++++-------- .../test/lang/objc/modules-incomplete/minmax.h | 2 ++ .../test/lang/objc/modules-incomplete/module.map | 5 +++++ .../test/lang/objc/modules-incomplete/myModule.h | 9 +++------ .../test/lang/objc/modules-incomplete/myModule.m | 12 +++--------- 7 files changed, 22 insertions(+), 31 deletions(-) create mode 100644 lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/minmax.h diff --git a/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/Makefile b/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/Makefile index a3dacb5bd634..b8462bc818ca 100644 --- a/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/Makefile +++ b/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/Makefile @@ -4,5 +4,5 @@ OBJC_SOURCES := main.m myModule.m include $(LEVEL)/Makefile.rules -CFLAGS += $(MANDATORY_MODULE_BUILD_CFLAGS) -I$(PWD) +CFLAGS += $(MANDATORY_MODULE_BUILD_CFLAGS) LDFLAGS += -framework Foundation diff --git a/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/TestIncompleteModules.py b/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/TestIncompleteModules.py index 2b539de7b0ed..7bde8fc96896 100644 --- a/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/TestIncompleteModules.py +++ b/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/TestIncompleteModules.py @@ -22,15 +22,12 @@ class IncompleteModulesTestCase(TestBase): # Find the line number to break inside main(). self.line = line_number('main.m', '// Set breakpoint 0 here.') - @skipIfDarwin @skipUnlessDarwin - @skipIf(macos_version=["<", "10.12"], debug_info=no_match(["gmodules"])) + @skipIf(debug_info=no_match(["gmodules"])) def test_expr(self): self.build() exe = self.getBuildArtifact("a.out") self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET) - - # Break inside the foo function which takes a bar_ptr argument. lldbutil.run_break_set_by_file_and_line( self, "main.m", self.line, num_expected_locations=1, loc_exact=True) @@ -54,14 +51,14 @@ class IncompleteModulesTestCase(TestBase): substrs=["int", "3"]) self.expect( - "expr [myObject privateMethod]", + "expr private_func()", VARIABLES_DISPLAYED_CORRECTLY, substrs=[ "int", "5"]) - self.expect("expr MIN(2,3)", "#defined macro was found", + self.expect("expr MY_MIN(2,3)", "#defined macro was found", substrs=["int", "2"]) - self.expect("expr MAX(2,3)", "#undefd macro was correcltly not found", + self.expect("expr MY_MAX(2,3)", "#undefd macro was correctly not found", error=True) diff --git a/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/main.m b/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/main.m index 8ebfb0c1f11a..bfa0b06f1a14 100644 --- a/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/main.m +++ b/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/main.m @@ -1,11 +1,7 @@ -@import Foundation; @import myModule; +@import minmax; -int main() -{ - @autoreleasepool - { - MyClass *myObject = [MyClass alloc]; - [myObject publicMethod]; // Set breakpoint 0 here. - } +int main(int argc, char **argv) { + public_func(); // Set breakpoint 0 here. + return 0; } diff --git a/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/minmax.h b/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/minmax.h new file mode 100644 index 000000000000..efad1201695f --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/minmax.h @@ -0,0 +1,2 @@ +#define MY_MIN(A, B) (((A) < (B)) ? (A) : (B)) +#define MY_MAX(A, B) (((A) < (B)) ? (B) : (A)) diff --git a/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/module.map b/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/module.map index 2ef8064d15b4..0dd9fadb2621 100644 --- a/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/module.map +++ b/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/module.map @@ -2,3 +2,8 @@ module myModule { header "myModule.h" export * } + +module minmax { + header "minmax.h" + export * +} diff --git a/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/myModule.h b/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/myModule.h index d03dde0d07aa..04ec3885c838 100644 --- a/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/myModule.h +++ b/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/myModule.h @@ -1,8 +1,5 @@ -@import Foundation; +@import minmax; -#undef MAX +#undef MY_MAX -@interface MyClass : NSObject { -}; --(void)publicMethod; -@end +extern void public_func(); diff --git a/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/myModule.m b/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/myModule.m index d6a2619d8016..372a32889322 100644 --- a/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/myModule.m +++ b/lldb/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/myModule.m @@ -1,14 +1,8 @@ #include "myModule.h" -#include "stdio.h" -@implementation MyClass { -}; --(void)publicMethod { - printf("Hello public!\n"); -} --(int)privateMethod { - printf("Hello private!\n"); +void public_func() {} + +int private_func() { return 5; } -@end