Frameworks/AutoHyperlinks Framework/Source/ThreadedStressTestMain.m
author Matthew Kotila
Mon, 14 Dec 2015 00:37:29 -0800
changeset 5949 334dc418b409
parent 5238 a4385bf575e4
permissions -rw-r--r--
Transition Adium from SenTestingKit to XCTest.

In order to build on OS X 10.11, Xcode 7.2, several changes have been made that are outlined:
- Unit tests Target Build Settings modified:
* 'Wrapper Extension' set to 'xctest'
* 'Enable Modules (C and Objective-C)' set to 'Yes'
- UnitTests Target of AutoHyperlink.framework Build Settings modified:
* 'Wrapper Extension' set to 'xctest'
* 'Enable Modules (C and Objective-C)' set to 'Yes'
* 'Other Linker Flags' removed '-framework SenTestingKit'
- 'SenTestingKit.framework' removed from Adium -> Linked Frameworks -> System
- 'SenTestingKit.framework' removed from Adium -> Linked Frameworks -> AutoHyperlinks.framework.xcodeproj -> External Frameworks and Libraries -> Linked Frameworks
- Find and Replace within 'Adium/Unit tests' && 'Adium/Linked Frameworks/Others/AutoHyperlinks.framework.xcodeproj/UnitTests'
* '<SenTestingKit/SenTestingKit.h>' to '<XCTest/XCTest.h>'
* 'SenTestCase' to 'XCTestCase'
* 'STAssert' to 'XCTAssert'
* 'XCTAssertEquals(' to 'XCTAssertEqual('
* regex '(\[\[\[)([^\]]*\][^\]]*\])(\ autorelease\]);' to '[[$2;'
* regex '(\[)([^\]]*\][^\]]*)(\ autorelease\])' to '$2'
- modified AutoHyperlinks.framework.xcodeproj -> project.pbxproj
* line 331: ?productType = "com.apple.product-type.bundle.ocunit-test";' to 'productType = "com.apple.product-type.bundle.unit-test";'
- AIWebKitMessageViewController.h
* forward declare WebUIDelegate, WebFrameLoadDelegate protocols
* add WebUIDelegate, WebFrameLoadDelegate protocols to 'AIWebKitMessageViewController' class
- AIFacebookXMPPOAuthWebViewWindowController.m lines 107 && 108
* '[[domDoc getElementById:@"email"] setValue:self.autoFillUsername];' to '[domDoc getElementById:@"email"].innerHTML = self.autoFillUsername;'
* '[[domDoc getElementById:@"pass"] setValue:self.autoFillPassword];' to '[domDoc getElementById:@"pass"].innerHTML = self.autoFillPassword;'
- XCTAssertEqual for NSRanges modified to ?XCTAssertTrue(NSEqualRanges(range1, range2)), ...)' in Unit tests
5949
334dc418b409 Transition Adium from SenTestingKit to XCTest.
Matthew Kotila
parents: 5238
diff changeset
     1
#import <XCTest/XCTest.h>
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
     2
#import "ThreadedStressTest.h"
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
     3
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
     4
#include <sysexits.h>
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
     5
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
     6
int main(int argc, char **argv) {
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
     7
	NSUInteger numIterations = 1U;
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
     8
	if (*++argv) {
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
     9
		//We have at least one argument. Interpret it as the number of times to run the test.
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    10
		numIterations = strtoul(*argv, /*next*/ NULL, /*radix*/ 0);
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    11
		if (numIterations == 0U) {
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    12
			fprintf(stderr, "Could not interpret number of iterations: %s\n", *argv);
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    13
			return EX_USAGE;
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    14
		}
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    15
	}
4917
e196e7a3fcbb Use @autoreleasepool instead of NSAutoreleasePools.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 0
diff changeset
    16
	
e196e7a3fcbb Use @autoreleasepool instead of NSAutoreleasePools.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 0
diff changeset
    17
	@autoreleasepool {
5949
334dc418b409 Transition Adium from SenTestingKit to XCTest.
Matthew Kotila
parents: 5238
diff changeset
    18
		ThreadedStressTest *test = [[ThreadedStressTest alloc] initWithSelector:@selector(threadedStressTest)];
334dc418b409 Transition Adium from SenTestingKit to XCTest.
Matthew Kotila
parents: 5238
diff changeset
    19
		SenTestRun *run = [[SenTestRun alloc] initWithTest:test];
4917
e196e7a3fcbb Use @autoreleasepool instead of NSAutoreleasePools.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 0
diff changeset
    20
		
e196e7a3fcbb Use @autoreleasepool instead of NSAutoreleasePools.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 0
diff changeset
    21
		NSDate *startDate, *endDate;
e196e7a3fcbb Use @autoreleasepool instead of NSAutoreleasePools.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 0
diff changeset
    22
		
e196e7a3fcbb Use @autoreleasepool instead of NSAutoreleasePools.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 0
diff changeset
    23
		startDate = [NSDate date];
e196e7a3fcbb Use @autoreleasepool instead of NSAutoreleasePools.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 0
diff changeset
    24
		[run start];
e196e7a3fcbb Use @autoreleasepool instead of NSAutoreleasePools.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 0
diff changeset
    25
		while (numIterations--) {
e196e7a3fcbb Use @autoreleasepool instead of NSAutoreleasePools.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 0
diff changeset
    26
			[test performTest:run];
e196e7a3fcbb Use @autoreleasepool instead of NSAutoreleasePools.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 0
diff changeset
    27
		}
e196e7a3fcbb Use @autoreleasepool instead of NSAutoreleasePools.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 0
diff changeset
    28
		[run stop];
e196e7a3fcbb Use @autoreleasepool instead of NSAutoreleasePools.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 0
diff changeset
    29
		endDate = [NSDate date];
e196e7a3fcbb Use @autoreleasepool instead of NSAutoreleasePools.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 0
diff changeset
    30
		
e196e7a3fcbb Use @autoreleasepool instead of NSAutoreleasePools.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 0
diff changeset
    31
		BOOL success = [run hasSucceeded];
e196e7a3fcbb Use @autoreleasepool instead of NSAutoreleasePools.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 0
diff changeset
    32
		NSLog(@"Test %@ in %f seconds", success ? @"succeeded" : @"failed", [endDate timeIntervalSinceDate:startDate]);
e196e7a3fcbb Use @autoreleasepool instead of NSAutoreleasePools.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 0
diff changeset
    33
		
e196e7a3fcbb Use @autoreleasepool instead of NSAutoreleasePools.
Thijs Alkemade <thijsalkemade@gmail.com>
parents: 0
diff changeset
    34
		return success ? EXIT_SUCCESS : EXIT_FAILURE;
0
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    35
	}
e22ad6bc8b46 svn 1.5 merge tracking is terrible. This is a manual merge of the Sparkle 1.5 branch into trunk
David Smith
parents:
diff changeset
    36
}