Author: rfm
Date: Tue Feb 9 16:56:43 2016
New Revision: 39344
URL: http://svn.gna.org/viewcvs/gnustep?rev=39344&view=rev
Log:
tweak autorelease test
Modified:
libs/base/trunk/Tests/base/NSAutoreleasePool/basic.m
Modified: libs/base/trunk/Tests/base/NSAutoreleasePool/basic.m
URL:
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/Tests/base/NSAutoreleasePool/basic.m?rev=39344&r1=39343&r2=39344&view=diff
==============================================================================
--- libs/base/trunk/Tests/base/NSAutoreleasePool/basic.m (original)
+++ libs/base/trunk/Tests/base/NSAutoreleasePool/basic.m Tue Feb 9
16:56:43 2016
@@ -7,23 +7,35 @@
@implementation Test
- (void)dealloc
{
- freed = YES;
- [super dealloc];
+ freed = YES;
+ [super dealloc];
}
@end
int main()
{
- NSAutoreleasePool *arp = [NSAutoreleasePool new];
- NSObject *o = [NSObject new];
- unsigned i;
+ NSAutoreleasePool *arp = [NSAutoreleasePool new];
+ NSObject *o = [NSObject new];
+ unsigned c;
+ unsigned i;
+ [[o retain] autorelease];
+ RELEASE(arp);
+
+ arp = [NSAutoreleasePool new];
+ c = [arp autoreleaseCount];
+ printf("Initial count %u\n", c);
for (i = 0; i < 1000; i++)
- {
- [[o retain] autorelease];
- }
- NSUInteger totalCount = [arp autoreleaseCount];
- PASS(totalCount == 1000, "Autorelease count is correct");
+ {
+ [[o retain] autorelease];
+ }
+ i = [arp autoreleaseCount];
+ printf("Final count %u\n", i);
+ NSCAssert(arp == [NSAutoreleasePool currentPool],
+ NSInternalInconsistencyException);
+ PASS(1000 == i - c, "Autorelease count is correct");
+ PASS([arp autoreleaseCountForObject: o] == 1000,
+ "Autorelease count for object is correct");
PASS([NSAutoreleasePool autoreleaseCountForObject: o] == 1000,
"Autorelease count for object is correct");
PASS(freed == NO, "Object not prematurely freed");
_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs