From 42124b3691197c3c4f52f069775fa0390a8ff942 Mon Sep 17 00:00:00 2001 From: dmaclach Date: Fri, 7 Oct 2016 12:10:23 -0400 Subject: First cut at pruning things/updating things. Remove a bunch of code that Google stopped using/maintaining rather than trying to update it it. Some would be hard to update, some actually has system provided replacements; others are patterns that just don't seem as common now. Prune out the code related to macOS <= 10.5, start pruning some of the really old iOS support also. Get the projects mostly limping again with modern Xcodes so tests can be run. If someone ends up on this commit via history for something they still find as useful, feel free to do a pull request to bring the snippet of code back to life and update it for current SDKs. --- DebugUtils/GTMDebugThreadValidationTest.m | 110 ------------------------------ 1 file changed, 110 deletions(-) delete mode 100644 DebugUtils/GTMDebugThreadValidationTest.m (limited to 'DebugUtils') diff --git a/DebugUtils/GTMDebugThreadValidationTest.m b/DebugUtils/GTMDebugThreadValidationTest.m deleted file mode 100644 index 66bd51b..0000000 --- a/DebugUtils/GTMDebugThreadValidationTest.m +++ /dev/null @@ -1,110 +0,0 @@ -// -// GTMDebugThreadValidationTest.m -// Copyright 2008 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); you may not -// use this file except in compliance with the License. You may obtain a copy -// of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -// License for the specific language governing permissions and limitations under -// the License. -// - -#import "GTMSenTestCase.h" -#import "GTMDebugThreadValidation.h" - -// GTMDebugThreadValidation only happens on debug builds -#if DEBUG - -@interface GTMDebugThreadValidationTest : GTMTestCase -@end - -// A cheap flag for knowing when our thread has run - -static volatile BOOL gGTMDebugThreadValidationTestDone = NO; - -// This is an assertion handler that just records that an assertion has fired. -@interface GTMDebugThreadValidationCheckAssertionHandler : NSAssertionHandler { - @private - BOOL handledAssertion_; -} -- (void)handleFailureInMethod:(SEL)selector - object:(id)object - file:(NSString *)fileName - lineNumber:(NSInteger)line - description:(NSString *)format,...; - -- (void)handleFailureInFunction:(NSString *)functionName - file:(NSString *)fileName - lineNumber:(NSInteger)line - description:(NSString *)format,...; -- (BOOL)didHandleAssertion; -@end - -@implementation GTMDebugThreadValidationTest -- (void)testOnMainThread { - STAssertNoThrow(GTMAssertRunningOnMainThread(), nil); -} - -- (void)threadFunc:(NSMutableString *)result { - NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - // We'll insert our own assertion handler that will get called on the assert - // so that we don't have to worry about the log, and exception being thrown. - GTMDebugThreadValidationCheckAssertionHandler *handler = - [[[GTMDebugThreadValidationCheckAssertionHandler alloc] init] autorelease]; - NSMutableDictionary *threadDictionary - = [[NSThread currentThread] threadDictionary]; - [threadDictionary setObject:handler forKey:@"NSAssertionHandler"]; - GTMAssertRunningOnMainThread(); - if ([handler didHandleAssertion]) { - [result setString:@"ASSERTED"]; - } - [threadDictionary removeObjectForKey:@"NSAssertionHandler"]; - gGTMDebugThreadValidationTestDone = YES; - [pool release]; -} - -- (void)testOnOtherThread { - NSMutableString *result = [NSMutableString string]; - gGTMDebugThreadValidationTestDone = NO; - [NSThread detachNewThreadSelector:@selector(threadFunc:) - toTarget:self - withObject:result]; - NSRunLoop *loop = [NSRunLoop currentRunLoop]; - - while (!gGTMDebugThreadValidationTestDone) { - NSDate *date = [NSDate dateWithTimeIntervalSinceNow:0.01]; - [loop runUntilDate:date]; - } - STAssertEqualStrings(result, @"ASSERTED", @"GTMAssertRunningOnMainThread did " - @"not assert while running on another thread"); -} -@end - -@implementation GTMDebugThreadValidationCheckAssertionHandler - -- (void)handleFailureInMethod:(SEL)selector - object:(id)object - file:(NSString *)fileName - lineNumber:(NSInteger)line - description:(NSString *)format,... { - handledAssertion_ = YES; -} - -- (void)handleFailureInFunction:(NSString *)functionName - file:(NSString *)fileName - lineNumber:(NSInteger)line - description:(NSString *)format,... { - handledAssertion_ = YES; -} - -- (BOOL)didHandleAssertion { - return handledAssertion_; -} -@end -#endif // DEBUG -- cgit v1.2.3