Author: adrian Date: Thu Feb 8 13:52:28 2018 New Revision: 324655 URL: http://llvm.org/viewvc/llvm-project?rev=324655&view=rev Log: Rewrite testcase to not depend on Foundation implementation details.
TODO: Add a separate testcase testing *only* Foundation implementation details! <rdar://problem/37252738> Added: lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/minmax.h Modified: lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/Makefile lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/TestIncompleteModules.py lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/main.m lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/module.map lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/myModule.h lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/myModule.m Modified: lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/Makefile URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/Makefile?rev=324655&r1=324654&r2=324655&view=diff ============================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/Makefile (original) +++ lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/Makefile Thu Feb 8 13:52:28 2018 @@ -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 Modified: lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/TestIncompleteModules.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/TestIncompleteModules.py?rev=324655&r1=324654&r2=324655&view=diff ============================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/TestIncompleteModules.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/TestIncompleteModules.py Thu Feb 8 13:52:28 2018 @@ -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) Modified: lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/main.m URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/main.m?rev=324655&r1=324654&r2=324655&view=diff ============================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/main.m (original) +++ lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/main.m Thu Feb 8 13:52:28 2018 @@ -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; } Added: lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/minmax.h URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/minmax.h?rev=324655&view=auto ============================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/minmax.h (added) +++ lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/minmax.h Thu Feb 8 13:52:28 2018 @@ -0,0 +1,2 @@ +#define MY_MIN(A, B) (((A) < (B)) ? (A) : (B)) +#define MY_MAX(A, B) (((A) < (B)) ? (B) : (A)) Modified: lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/module.map URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/module.map?rev=324655&r1=324654&r2=324655&view=diff ============================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/module.map (original) +++ lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/module.map Thu Feb 8 13:52:28 2018 @@ -2,3 +2,8 @@ module myModule { header "myModule.h" export * } + +module minmax { + header "minmax.h" + export * +} Modified: lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/myModule.h URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/myModule.h?rev=324655&r1=324654&r2=324655&view=diff ============================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/myModule.h (original) +++ lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/myModule.h Thu Feb 8 13:52:28 2018 @@ -1,8 +1,5 @@ -@import Foundation; +@import minmax; -#undef MAX +#undef MY_MAX -@interface MyClass : NSObject { -}; --(void)publicMethod; -@end +extern void public_func(); Modified: lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/myModule.m URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/myModule.m?rev=324655&r1=324654&r2=324655&view=diff ============================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/myModule.m (original) +++ lldb/trunk/packages/Python/lldbsuite/test/lang/objc/modules-incomplete/myModule.m Thu Feb 8 13:52:28 2018 @@ -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 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits