aboutsummaryrefslogtreecommitdiff
path: root/Foundation/GTMStackTraceTest.m
diff options
context:
space:
mode:
Diffstat (limited to 'Foundation/GTMStackTraceTest.m')
-rw-r--r--Foundation/GTMStackTraceTest.m24
1 files changed, 24 insertions, 0 deletions
diff --git a/Foundation/GTMStackTraceTest.m b/Foundation/GTMStackTraceTest.m
index 457f3e9..f1c1247 100644
--- a/Foundation/GTMStackTraceTest.m
+++ b/Foundation/GTMStackTraceTest.m
@@ -45,6 +45,30 @@
stacktrace);
}
+-(void)testGetStackAddressDescriptors {
+ struct GTMAddressDescriptor descs[100];
+ size_t depth = sizeof(descs) / sizeof(struct GTMAddressDescriptor);
+ depth = GTMGetStackAddressDescriptors(descs, depth);
+ // Got atleast 4...
+ STAssertGreaterThan(depth, (size_t)4, nil);
+ // All that we got have symbols
+ for (NSUInteger lp = 0 ; lp < depth ; ++lp) {
+ STAssertNotNULL(descs[lp].symbol, @"didn't get a symble at depth %lu", lp);
+ }
+
+ // Do it again, but don't give it enough space (to make sure it handles that)
+ size_t fullDepth = depth;
+ STAssertGreaterThan(fullDepth, (size_t)4, nil);
+ depth -= 2;
+ depth = GTMGetStackAddressDescriptors(descs, depth);
+ STAssertLessThan(depth, fullDepth, nil);
+ // All that we got have symbols
+ for (NSUInteger lp = 0 ; lp < depth ; ++lp) {
+ STAssertNotNULL(descs[lp].symbol, @"didn't get a symble at depth %lu", lp);
+ }
+
+}
+
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
- (void)helperThatThrows {