summaryrefslogtreecommitdiffstats
path: root/lldb/test
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2012-12-19 23:05:01 +0000
committerSean Callanan <scallanan@apple.com>2012-12-19 23:05:01 +0000
commit7be70e85287e5b6f8acd38faff28895ddf58ca4f (patch)
tree947ffc9b59a760d3cad654d7d63cebbe874ad701 /lldb/test
parent6848e38daf24547a639a48e4585fef5268ede3cc (diff)
downloadbcm5719-llvm-7be70e85287e5b6f8acd38faff28895ddf58ca4f.tar.gz
bcm5719-llvm-7be70e85287e5b6f8acd38faff28895ddf58ca4f.zip
This patch removes the SymbolFileSymtab support
for reporting class types from Objective-C runtime class symbols. Instead, LLDB now queries the Objective-C runtime for class types. We have also added a (minimal) Objective-C runtime type vendor for Objective-C runtime version 1, to prevent regressions when calling class methods in the V1 runtime. Other components of this fix include: - We search the Objective-C runtime in a few more places. - We enable enumeration of all members of Objective-C classes, which Clang does in certain circumstances. - SBTarget::FindFirstType and SBTarget::FindTypes now query the Objective-C runtime as needed. - I fixed several test cases. <rdar://problem/12885034> llvm-svn: 170601
Diffstat (limited to 'lldb/test')
-rw-r--r--lldb/test/functionalities/data-formatter/rdar-11988289/TestRdar 11988289.py12
-rw-r--r--lldb/test/functionalities/data-formatter/rdar-11988289/main.m10
-rw-r--r--lldb/test/lang/objc/foundation/TestObjCMethods2.py2
-rw-r--r--lldb/test/python_api/type/TestTypeList.py2
4 files changed, 13 insertions, 13 deletions
diff --git a/lldb/test/functionalities/data-formatter/rdar-11988289/TestRdar 11988289.py b/lldb/test/functionalities/data-formatter/rdar-11988289/TestRdar 11988289.py
index ed389618867..0a85da7b529 100644
--- a/lldb/test/functionalities/data-formatter/rdar-11988289/TestRdar 11988289.py
+++ b/lldb/test/functionalities/data-formatter/rdar-11988289/TestRdar 11988289.py
@@ -59,23 +59,23 @@ class DataFormatterRdar11988289TestCase(TestBase):
# Now check that we are displaying Cocoa classes correctly
self.expect('frame variable dictionary',
substrs = ['3 key/value pairs'])
- self.expect('frame variable mutable',
+ self.expect('frame variable mutabledict',
substrs = ['4 key/value pairs'])
self.expect('frame variable dictionary --ptr-depth 1',
substrs = ['3 key/value pairs','[0] = {','key = 0x','value = 0x','[1] = {','[2] = {'])
- self.expect('frame variable mutable --ptr-depth 1',
+ self.expect('frame variable mutabledict --ptr-depth 1',
substrs = ['4 key/value pairs','[0] = {','key = 0x','value = 0x','[1] = {','[2] = {','[3] = {'])
self.expect('frame variable dictionary --ptr-depth 1 --dynamic-type no-run-target',
substrs = ['3 key/value pairs','@"bar"','@"2 objects"','@"baz"','2 key/value pairs'])
- self.expect('frame variable mutable --ptr-depth 1 --dynamic-type no-run-target',
+ self.expect('frame variable mutabledict --ptr-depth 1 --dynamic-type no-run-target',
substrs = ['4 key/value pairs','(int)23','@"123"','@"http://www.apple.com"','@"puartist"','3 key/value pairs'])
- self.expect('frame variable mutable --ptr-depth 2 --dynamic-type no-run-target',
+ self.expect('frame variable mutabledict --ptr-depth 2 --dynamic-type no-run-target',
substrs = ['4 key/value pairs','(int)23','@"123"','@"http://www.apple.com"','@"puartist"','3 key/value pairs {','@"bar"','@"2 objects"'])
- self.expect('frame variable mutable --ptr-depth 3 --dynamic-type no-run-target',
+ self.expect('frame variable mutabledict --ptr-depth 3 --dynamic-type no-run-target',
substrs = ['4 key/value pairs','(int)23','@"123"','@"http://www.apple.com"','@"puartist"','3 key/value pairs {','@"bar"','@"2 objects"','(int)1','@"two"'])
self.assertTrue(self.frame().FindVariable("dictionary").MightHaveChildren(), "dictionary says it does not have children!")
- self.assertTrue(self.frame().FindVariable("mutable").MightHaveChildren(), "mutable says it does not have children!")
+ self.assertTrue(self.frame().FindVariable("mutabledict").MightHaveChildren(), "mutable says it does not have children!")
if __name__ == '__main__':
diff --git a/lldb/test/functionalities/data-formatter/rdar-11988289/main.m b/lldb/test/functionalities/data-formatter/rdar-11988289/main.m
index c1ab2e4018a..62eed942d29 100644
--- a/lldb/test/functionalities/data-formatter/rdar-11988289/main.m
+++ b/lldb/test/functionalities/data-formatter/rdar-11988289/main.m
@@ -18,11 +18,11 @@ int main (int argc, const char * argv[])
NSArray* keys = @[@"foo",@"bar",@"baz"];
NSArray* values = @[@"hello",@[@"X",@"Y"],@{@1 : @"one",@2 : @"two"}];
NSDictionary* dictionary = [NSDictionary dictionaryWithObjects:values forKeys:keys];
- NSMutableDictionary* mutable = [NSMutableDictionary dictionaryWithCapacity:5];
- [mutable setObject:@"123" forKey:@23];
- [mutable setObject:[NSURL URLWithString:@"http://www.apple.com"] forKey:@"foobar"];
- [mutable setObject:@[@"a",@12] forKey:@57];
- [mutable setObject:dictionary forKey:@"puartist"];
+ NSMutableDictionary* mutabledict = [NSMutableDictionary dictionaryWithCapacity:5];
+ [mutabledict setObject:@"123" forKey:@23];
+ [mutabledict setObject:[NSURL URLWithString:@"http://www.apple.com"] forKey:@"foobar"];
+ [mutabledict setObject:@[@"a",@12] forKey:@57];
+ [mutabledict setObject:dictionary forKey:@"puartist"];
[pool drain];// Set break point at this line.
return 0;
diff --git a/lldb/test/lang/objc/foundation/TestObjCMethods2.py b/lldb/test/lang/objc/foundation/TestObjCMethods2.py
index 861d9fcab35..7b899aa433c 100644
--- a/lldb/test/lang/objc/foundation/TestObjCMethods2.py
+++ b/lldb/test/lang/objc/foundation/TestObjCMethods2.py
@@ -230,7 +230,7 @@ class FoundationTestCase2(TestBase):
self.runCmd("run", RUN_SUCCEEDED)
- self.expect("p [NSError errorWithDomain:@\"Hello\" code:35 userInfo:nil]",
+ self.expect("p [NSError thisMethodIsntImplemented:0]",
error = True,
patterns = ["no known method", "cast the message send to the method's return type"])
self.runCmd("process continue")
diff --git a/lldb/test/python_api/type/TestTypeList.py b/lldb/test/python_api/type/TestTypeList.py
index 05643e675cc..d0e4dd6c449 100644
--- a/lldb/test/python_api/type/TestTypeList.py
+++ b/lldb/test/python_api/type/TestTypeList.py
@@ -66,7 +66,7 @@ class TypeAndTypeListTestCase(TestBase):
type_list = target.FindTypes('Task')
if self.TraceOn():
print "Size of type_list from target.FindTypes('Task') query: %d" % type_list.GetSize()
- self.assertTrue(len(type_list) == 1)
+ self.assertTrue(len(type_list) >= 1) # a second Task make be scared up by the Objective-C runtime
for type in type_list:
self.assertTrue(type)
self.DebugSBType(type)
OpenPOWER on IntegriCloud