[Lldb-commits] [lldb] r221496 - Fixes so tests compile and run remotely.

Greg Clayton gclayton at apple.com
Thu Nov 6 14:59:28 PST 2014


Author: gclayton
Date: Thu Nov  6 16:59:28 2014
New Revision: 221496

URL: http://llvm.org/viewvc/llvm-project?rev=221496&view=rev
Log:
Fixes so tests compile and run remotely.

Fixes include:
- dont set or change LDFLAGS, but set LD_EXTRAS instead
- fix compilation errors for iOS based builds with objective C code
    - fix test cases to create classes instead of relying on classes from AppKit 
    - rename things where it makes sense

Modified:
    lldb/trunk/test/lang/objc/hidden-ivars/Makefile
    lldb/trunk/test/lang/objc/objc++/Makefile
    lldb/trunk/test/lang/objc/objc-baseclass-sbtype/Makefile
    lldb/trunk/test/lang/objc/objc-baseclass-sbtype/TestObjCBaseClassSBType.py
    lldb/trunk/test/lang/objc/objc-baseclass-sbtype/main.m
    lldb/trunk/test/lang/objc/objc-dyn-sbtype/Makefile
    lldb/trunk/test/lang/objc/objc-dyn-sbtype/TestObjCDynamicSBType.py
    lldb/trunk/test/lang/objc/objc-dyn-sbtype/main.m
    lldb/trunk/test/lang/objc/rdar-12408181/Makefile
    lldb/trunk/test/lang/objc/rdar-12408181/main.m
    lldb/trunk/test/types/AbstractBase.py

Modified: lldb/trunk/test/lang/objc/hidden-ivars/Makefile
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lang/objc/hidden-ivars/Makefile?rev=221496&r1=221495&r2=221496&view=diff
==============================================================================
--- lldb/trunk/test/lang/objc/hidden-ivars/Makefile (original)
+++ lldb/trunk/test/lang/objc/hidden-ivars/Makefile Thu Nov  6 16:59:28 2014
@@ -4,6 +4,6 @@ DYLIB_NAME := InternalDefiner
 DYLIB_OBJC_SOURCES := InternalDefiner.m
 OBJC_SOURCES := main.m
 
-LDFLAGS = -framework Foundation
+LD_EXTRAS = -framework Foundation
 
 include $(LEVEL)/Makefile.rules

Modified: lldb/trunk/test/lang/objc/objc++/Makefile
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lang/objc/objc%2B%2B/Makefile?rev=221496&r1=221495&r2=221496&view=diff
==============================================================================
--- lldb/trunk/test/lang/objc/objc++/Makefile (original)
+++ lldb/trunk/test/lang/objc/objc++/Makefile Thu Nov  6 16:59:28 2014
@@ -1,6 +1,6 @@
 LEVEL = ../../../make
 
 OBJCXX_SOURCES := main.mm
-LDFLAGS += -framework Foundation
+LD_EXTRAS = -framework Foundation
 
 include $(LEVEL)/Makefile.rules

Modified: lldb/trunk/test/lang/objc/objc-baseclass-sbtype/Makefile
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lang/objc/objc-baseclass-sbtype/Makefile?rev=221496&r1=221495&r2=221496&view=diff
==============================================================================
--- lldb/trunk/test/lang/objc/objc-baseclass-sbtype/Makefile (original)
+++ lldb/trunk/test/lang/objc/objc-baseclass-sbtype/Makefile Thu Nov  6 16:59:28 2014
@@ -1,6 +1,6 @@
 LEVEL = ../../../make
 
 OBJC_SOURCES := main.m
-LDFLAGS = $(CFLAGS) -lobjc -framework AppKit
+LD_EXTRAS = -lobjc -framework Foundation
 
 include $(LEVEL)/Makefile.rules

Modified: lldb/trunk/test/lang/objc/objc-baseclass-sbtype/TestObjCBaseClassSBType.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lang/objc/objc-baseclass-sbtype/TestObjCBaseClassSBType.py?rev=221496&r1=221495&r2=221496&view=diff
==============================================================================
--- lldb/trunk/test/lang/objc/objc-baseclass-sbtype/TestObjCBaseClassSBType.py (original)
+++ lldb/trunk/test/lang/objc/objc-baseclass-sbtype/TestObjCBaseClassSBType.py Thu Nov  6 16:59:28 2014
@@ -57,16 +57,16 @@ class ObjCDynamicValueTestCase(TestBase)
         self.assertTrue(process.GetState() == lldb.eStateStopped,
                         PROCESS_STOPPED)
 
-        button = self.frame().FindVariable("button")
-        button_ptr_type = button.GetType()
-        button_pte_type = button_ptr_type.GetPointeeType()
-        self.assertTrue(button_ptr_type.GetNumberOfDirectBaseClasses() == 1, "NSButton * has one base class")
-        self.assertTrue(button_pte_type.GetNumberOfDirectBaseClasses() == 1, "NSButton has one base class")
+        var = self.frame().FindVariable("foo")
+        var_ptr_type = var.GetType()
+        var_pte_type = var_ptr_type.GetPointeeType()
+        self.assertTrue(var_ptr_type.GetNumberOfDirectBaseClasses() == 1, "Foo * has one base class")
+        self.assertTrue(var_pte_type.GetNumberOfDirectBaseClasses() == 1, "Foo has one base class")
 
-        self.assertTrue(button_ptr_type.GetDirectBaseClassAtIndex(0).IsValid(), "NSButton * has a valid base class")
-        self.assertTrue(button_pte_type.GetDirectBaseClassAtIndex(0).IsValid(), "NSButton * has a valid base class")
+        self.assertTrue(var_ptr_type.GetDirectBaseClassAtIndex(0).IsValid(), "Foo * has a valid base class")
+        self.assertTrue(var_pte_type.GetDirectBaseClassAtIndex(0).IsValid(), "Foo * has a valid base class")
 
-        self.assertTrue(button_ptr_type.GetDirectBaseClassAtIndex(0).GetName() == button_pte_type.GetDirectBaseClassAtIndex(0).GetName(), "NSButton and its pointer type don't agree on their base class")
+        self.assertTrue(var_ptr_type.GetDirectBaseClassAtIndex(0).GetName() == var_pte_type.GetDirectBaseClassAtIndex(0).GetName(), "Foo and its pointer type don't agree on their base class")
 
 if __name__ == '__main__':
     import atexit

Modified: lldb/trunk/test/lang/objc/objc-baseclass-sbtype/main.m
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lang/objc/objc-baseclass-sbtype/main.m?rev=221496&r1=221495&r2=221496&view=diff
==============================================================================
--- lldb/trunk/test/lang/objc/objc-baseclass-sbtype/main.m (original)
+++ lldb/trunk/test/lang/objc/objc-baseclass-sbtype/main.m Thu Nov  6 16:59:28 2014
@@ -1,8 +1,21 @@
-#import <AppKit/AppKit.h>
+#import <Foundation/Foundation.h>
 
+ at interface Foo : NSObject {}
+
+-(id) init;
+
+ at end
+
+ at implementation Foo
+
+-(id) init
+{
+    return self = [super init];
+}
+ at end
 int main ()
 {
-	NSButton *button = [NSButton new];
+    Foo *foo = [Foo new];
 	NSLog(@"a"); // Set breakpoint here.
 	return 0;
 }

Modified: lldb/trunk/test/lang/objc/objc-dyn-sbtype/Makefile
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lang/objc/objc-dyn-sbtype/Makefile?rev=221496&r1=221495&r2=221496&view=diff
==============================================================================
--- lldb/trunk/test/lang/objc/objc-dyn-sbtype/Makefile (original)
+++ lldb/trunk/test/lang/objc/objc-dyn-sbtype/Makefile Thu Nov  6 16:59:28 2014
@@ -4,4 +4,4 @@ OBJC_SOURCES := main.m
 
 include $(LEVEL)/Makefile.rules
 
-LDFLAGS += -framework Foundation -framework Cocoa
+LD_EXTRAS = -framework Foundation

Modified: lldb/trunk/test/lang/objc/objc-dyn-sbtype/TestObjCDynamicSBType.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lang/objc/objc-dyn-sbtype/TestObjCDynamicSBType.py?rev=221496&r1=221495&r2=221496&view=diff
==============================================================================
--- lldb/trunk/test/lang/objc/objc-dyn-sbtype/TestObjCDynamicSBType.py (original)
+++ lldb/trunk/test/lang/objc/objc-dyn-sbtype/TestObjCDynamicSBType.py Thu Nov  6 16:59:28 2014
@@ -15,21 +15,21 @@ class ObjCDynamicSBTypeTestCase(TestBase
 
     @dsym_test
     @skipIfi386
-    def test_nsimage_dyn_with_dsym(self):
+    def test_dyn_with_dsym(self):
         """Test that we are able to properly report a usable dynamic type."""
         d = {'EXE': self.exe_name}
         self.buildDsym(dictionary=d)
         self.setTearDownCleanup(dictionary=d)
-        self.nsimage_dyn(self.exe_name)
+        self.dyn(self.exe_name)
 
     @dwarf_test
     @skipIfi386
-    def test_nsimage_dyn_with_dwarf(self):
+    def test_dyn_with_dwarf(self):
         """Test that we are able to properly report a usable dynamic type."""
         d = {'EXE': self.exe_name}
         self.buildDwarf(dictionary=d)
         self.setTearDownCleanup(dictionary=d)
-        self.nsimage_dyn(self.exe_name)
+        self.dyn(self.exe_name)
 
     def setUp(self):
         # Call super's setUp().
@@ -40,7 +40,7 @@ class ObjCDynamicSBTypeTestCase(TestBase
         self.main_source = "main.m"
         self.line = line_number(self.main_source, '// Set breakpoint here.')
 
-    def nsimage_dyn(self, exe_name):
+    def dyn(self, exe_name):
         """Test that we are able to properly report a usable dynamic type."""
         exe = os.path.join(os.getcwd(), exe_name)
         self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET)
@@ -49,14 +49,6 @@ class ObjCDynamicSBTypeTestCase(TestBase
 
         self.runCmd("run", RUN_SUCCEEDED)
 
-        image = self.frame().EvaluateExpression("(id)image",lldb.eDynamicCanRunTarget)
-        self.assertTrue(image.GetTypeName() == "NSImage *", "The SBValue is properly type-named")
-        image_type = image.GetType()
-        self.assertTrue(image_type.GetName() == "NSImage *", "The dynamic SBType is for the correct type")
-        image_pointee_type = image_type.GetPointeeType()
-        self.assertTrue(image_pointee_type.GetName() == "NSImage", "The dynamic type figures out its pointee type just fine")
-        self.assertTrue(image_pointee_type.GetDirectBaseClassAtIndex(0).GetName() == "NSObject", "The dynamic type can go back to its base class")
-
         v_object = self.frame().FindVariable("object").GetDynamicValue(lldb.eDynamicCanRunTarget)
         v_base = self.frame().FindVariable("base").GetDynamicValue(lldb.eDynamicCanRunTarget)
         self.assertTrue(v_object.GetTypeName() == "MyDerivedClass *", "The NSObject is properly type-named")

Modified: lldb/trunk/test/lang/objc/objc-dyn-sbtype/main.m
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lang/objc/objc-dyn-sbtype/main.m?rev=221496&r1=221495&r2=221496&view=diff
==============================================================================
--- lldb/trunk/test/lang/objc/objc-dyn-sbtype/main.m (original)
+++ lldb/trunk/test/lang/objc/objc-dyn-sbtype/main.m Thu Nov  6 16:59:28 2014
@@ -1,5 +1,4 @@
 #import <Foundation/Foundation.h>
-#import <Cocoa/Cocoa.h>
 
 @interface MyBaseClass : NSObject
 {}
@@ -45,14 +44,9 @@
 
 int main (int argc, char const *argv[])
 {
-    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
-
-	NSSize size = {10,10};
-	NSImage *image = [[NSImage alloc] initWithSize:size];
-	
+    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];	
 	NSObject* object = [[MyDerivedClass alloc] init];
 	MyBaseClass* base = [[MyDerivedClass alloc] init];
-	
     [pool release]; // Set breakpoint here.
     return 0;
 }

Modified: lldb/trunk/test/lang/objc/rdar-12408181/Makefile
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lang/objc/rdar-12408181/Makefile?rev=221496&r1=221495&r2=221496&view=diff
==============================================================================
--- lldb/trunk/test/lang/objc/rdar-12408181/Makefile (original)
+++ lldb/trunk/test/lang/objc/rdar-12408181/Makefile Thu Nov  6 16:59:28 2014
@@ -4,4 +4,8 @@ OBJC_SOURCES := main.m
 
 include $(LEVEL)/Makefile.rules
 
-LDFLAGS += -framework Foundation -framework Cocoa
+ifneq (,$(findstring arm,$(ARCH)))
+    LD_EXTRAS = -framework Foundation -framework UIKit
+else
+    LD_EXTRAS = -framework Foundation -framework Cocoa
+endif

Modified: lldb/trunk/test/lang/objc/rdar-12408181/main.m
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lang/objc/rdar-12408181/main.m?rev=221496&r1=221495&r2=221496&view=diff
==============================================================================
--- lldb/trunk/test/lang/objc/rdar-12408181/main.m (original)
+++ lldb/trunk/test/lang/objc/rdar-12408181/main.m Thu Nov  6 16:59:28 2014
@@ -1,13 +1,23 @@
 #import <Foundation/Foundation.h>
+#if defined (__i386__) || defined (__x86_64__)
 #import <Cocoa/Cocoa.h>
+#else
+#import <UIKit/UIKit.h>
+#endif
 
 int main (int argc, char const *argv[])
 {
     NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
+#if defined (__i386__) || defined (__x86_64__)
 
-	[NSApplication sharedApplication];
-	NSWindow* window = [[NSWindow alloc] initWithContentRect:NSMakeRect(0,0,100,100) styleMask:NSBorderlessWindowMask backing:NSBackingStoreRetained defer:NO];
-	[window setCanHide:YES];
+    [NSApplication sharedApplication];
+    NSWindow* window = [[NSWindow alloc] initWithContentRect:NSMakeRect(0,0,100,100) styleMask:NSBorderlessWindowMask backing:NSBackingStoreRetained defer:NO];
+    [window setCanHide:YES];
+#else
+    [UIApplication sharedApplication];
+    CGRect rect = { 0, 0, 100, 100};
+    UIWindow* window = [[UIWindow alloc] initWithFrame:rect];
+#endif
     [pool release]; // Set breakpoint here.
     return 0;
 }

Modified: lldb/trunk/test/types/AbstractBase.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/types/AbstractBase.py?rev=221496&r1=221495&r2=221496&view=diff
==============================================================================
--- lldb/trunk/test/types/AbstractBase.py (original)
+++ lldb/trunk/test/types/AbstractBase.py Thu Nov  6 16:59:28 2014
@@ -216,16 +216,6 @@ class GenericTester(TestBase):
         # Now iterate through the golden list, comparing against the output from
         # 'expr var'.
         for var, val in gl:
-            # Don't overwhelm the expression mechanism.
-            # This slows down the test suite quite a bit, to enable it, define
-            # the environment variable LLDB_TYPES_EXPR_TIME_WAIT.  For example:
-            #
-            #     export LLDB_TYPES_EXPR_TIME_WAIT=0.5
-            #
-            # causes a 0.5 second delay between 'expression' commands.
-            if "LLDB_TYPES_EXPR_TIME_WAIT" in os.environ:
-                time.sleep(float(os.environ["LLDB_TYPES_EXPR_TIME_WAIT"]))
-
             self.runCmd("expression %s" % var)
             output = self.res.GetOutput()
 





More information about the lldb-commits mailing list