From 5c1bd07b1be1f29107dabc3c90cb87811166520d Mon Sep 17 00:00:00 2001 From: Guillaume BIENKOWSKI Date: Thu, 11 Sep 2014 11:39:39 +0200 Subject: [PATCH] Add a unit-test framework for iOS. Launch using the following command: xcodebuild -sdk iphonesimulator -project linphone.xcodeproj -scheme "LinphoneTester" test RUN_UNIT_TEST_WITH_IOS_SIM=YES --- LinphoneTester Tests/DTObjectBlockExecutor.h | 26 ++ LinphoneTester Tests/DTObjectBlockExecutor.m | 30 ++ .../LinphoneTester Tests-Info.plist | 0 .../LinphoneTester Tests-Prefix.pch | 10 + LinphoneTester Tests/LinphoneTester_Tests.m | 106 +++++ LinphoneTester Tests/NSObject+DTRuntime.h | 56 +++ LinphoneTester Tests/NSObject+DTRuntime.m | 101 +++++ .../en.lproj/InfoPlist.strings | 0 LinphoneTester/MasterViewController.m | 28 +- LinphoneTesterTests/LinphoneTesterTests.m | 34 -- linphone.xcodeproj/project.pbxproj | 412 +++++++++++++++--- 11 files changed, 706 insertions(+), 97 deletions(-) create mode 100644 LinphoneTester Tests/DTObjectBlockExecutor.h create mode 100644 LinphoneTester Tests/DTObjectBlockExecutor.m rename LinphoneTesterTests/LinphoneTesterTests-Info.plist => LinphoneTester Tests/LinphoneTester Tests-Info.plist (100%) create mode 100644 LinphoneTester Tests/LinphoneTester Tests-Prefix.pch create mode 100644 LinphoneTester Tests/LinphoneTester_Tests.m create mode 100644 LinphoneTester Tests/NSObject+DTRuntime.h create mode 100644 LinphoneTester Tests/NSObject+DTRuntime.m rename {LinphoneTesterTests => LinphoneTester Tests}/en.lproj/InfoPlist.strings (100%) delete mode 100644 LinphoneTesterTests/LinphoneTesterTests.m diff --git a/LinphoneTester Tests/DTObjectBlockExecutor.h b/LinphoneTester Tests/DTObjectBlockExecutor.h new file mode 100644 index 000000000..19926d805 --- /dev/null +++ b/LinphoneTester Tests/DTObjectBlockExecutor.h @@ -0,0 +1,26 @@ +// +// DTObjectBlockExecutor.h +// DTFoundation +// +// Created by Oliver Drobnik on 12.02.13. +// Copyright (c) 2013 Cocoanetics. All rights reserved. +// + +/** + This class is used by [NSObject addDeallocBlock:] to execute blocks on dealloc + */ + +@interface DTObjectBlockExecutor : NSObject + +/** + Convenience method to create a block executor with a deallocation block + @param block The block to execute when the created receiver is being deallocated + */ ++ (id)blockExecutorWithDeallocBlock:(void(^)())block; + +/** + Block to execute when dealloc of the receiver is called + */ +@property (nonatomic, copy) void (^deallocBlock)(); + +@end diff --git a/LinphoneTester Tests/DTObjectBlockExecutor.m b/LinphoneTester Tests/DTObjectBlockExecutor.m new file mode 100644 index 000000000..4e9dfd0fd --- /dev/null +++ b/LinphoneTester Tests/DTObjectBlockExecutor.m @@ -0,0 +1,30 @@ +// +// DTObjectBlockExecutor.m +// DTFoundation +// +// Created by Oliver Drobnik on 12.02.13. +// Copyright (c) 2013 Cocoanetics. All rights reserved. +// + +#import "DTObjectBlockExecutor.h" + + +@implementation DTObjectBlockExecutor + ++ (id)blockExecutorWithDeallocBlock:(void(^)())block +{ + DTObjectBlockExecutor *executor = [[DTObjectBlockExecutor alloc] init]; + executor.deallocBlock = block; // copy + return executor; +} + +- (void)dealloc +{ + if (_deallocBlock) + { + _deallocBlock(); + _deallocBlock = nil; + } +} + +@end diff --git a/LinphoneTesterTests/LinphoneTesterTests-Info.plist b/LinphoneTester Tests/LinphoneTester Tests-Info.plist similarity index 100% rename from LinphoneTesterTests/LinphoneTesterTests-Info.plist rename to LinphoneTester Tests/LinphoneTester Tests-Info.plist diff --git a/LinphoneTester Tests/LinphoneTester Tests-Prefix.pch b/LinphoneTester Tests/LinphoneTester Tests-Prefix.pch new file mode 100644 index 000000000..b5ffd7806 --- /dev/null +++ b/LinphoneTester Tests/LinphoneTester Tests-Prefix.pch @@ -0,0 +1,10 @@ +// +// Prefix header +// +// The contents of this file are implicitly included at the beginning of every source file. +// + +#ifdef __OBJC__ + #import + #import +#endif diff --git a/LinphoneTester Tests/LinphoneTester_Tests.m b/LinphoneTester Tests/LinphoneTester_Tests.m new file mode 100644 index 000000000..d0a2aa1d5 --- /dev/null +++ b/LinphoneTester Tests/LinphoneTester_Tests.m @@ -0,0 +1,106 @@ +// +// LinphoneTester_Tests.m +// LinphoneTester Tests +// +// Created by guillaume on 10/09/2014. +// +// + +#import +#include "linphone/linphonecore.h" +#include "linphone/liblinphone_tester.h" +#import "NSObject+DTRuntime.h" + +@interface LinphoneTester_Tests : XCTestCase + +@end + +@implementation LinphoneTester_Tests { + NSString* bundlePath; + NSString* documentPath; +} + + +static void linphone_log_function(OrtpLogLevel lev, const char *fmt, va_list args) { + NSString* log = [[NSString alloc] initWithFormat:[NSString stringWithUTF8String:fmt] arguments:args]; + NSLog(@"%@",log); +} + + +void LSLog(NSString* fmt, ...){ + va_list args; + va_start(args, fmt); + linphone_log_function(ORTP_MESSAGE, [fmt UTF8String], args); + va_end(args); +} + + + + +- (id)init { + self = [super init]; + if( self ){ + bundlePath = [[NSBundle mainBundle] bundlePath]; + NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); + documentPath = [paths objectAtIndex:0]; + LSLog(@"Bundle path: %@", bundlePath); + LSLog(@"Document path: %@", documentPath); + + liblinphone_tester_set_fileprefix([bundlePath UTF8String]); + liblinphone_tester_set_writable_dir_prefix( ms_strdup([documentPath UTF8String]) ); + } + return self; +} + ++ (NSArray*)skippedSuites { + NSArray* skipped_suites = @[@"Flexisip"]; + return skipped_suites; +} + ++ (void)initialize { + liblinphone_tester_init(); + + int count = liblinphone_tester_nb_test_suites(); + + for (int i=0; i +#import "DTObjectBlockExecutor.h" + +@implementation NSObject (DTRuntime) + +static char DTRuntimeDeallocBlocks; + +#pragma mark - Blocks + +- (void)addDeallocBlock:(void(^)())block +{ + // don't accept NULL block + NSParameterAssert(block); + + NSMutableArray *deallocBlocks = objc_getAssociatedObject(self, &DTRuntimeDeallocBlocks); + + // add array of dealloc blocks if not existing yet + if (!deallocBlocks) + { + deallocBlocks = [[NSMutableArray alloc] init]; + + objc_setAssociatedObject(self, &DTRuntimeDeallocBlocks, deallocBlocks, OBJC_ASSOCIATION_RETAIN); + } + + DTObjectBlockExecutor *executor = [DTObjectBlockExecutor blockExecutorWithDeallocBlock:block]; + + [deallocBlocks addObject:executor]; +} + ++ (BOOL)addInstanceMethodWithSelectorName:(NSString *)selectorName block:(void(^)(id))block +{ + // don't accept nil name + NSParameterAssert(selectorName); + + // don't accept NULL block + NSParameterAssert(block); + + // See http://stackoverflow.com/questions/6357663/casting-a-block-to-a-void-for-dynamic-class-method-resolution + +#if MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_7 + void *impBlockForIMP = (void *)objc_unretainedPointer(block); +#else + id impBlockForIMP = (__bridge id)objc_unretainedPointer(block); +#endif + + IMP myIMP = imp_implementationWithBlock(impBlockForIMP); + + SEL selector = NSSelectorFromString(selectorName); + return class_addMethod(self, selector, myIMP, "v@:"); +} + +#pragma mark - Method Swizzling + ++ (void)swizzleMethod:(SEL)selector withMethod:(SEL)otherSelector +{ + // my own class is being targetted + Class c = [self class]; + + // get the methods from the selectors + Method originalMethod = class_getInstanceMethod(c, selector); + Method otherMethod = class_getInstanceMethod(c, otherSelector); + + if (class_addMethod(c, selector, method_getImplementation(otherMethod), method_getTypeEncoding(otherMethod))) + { + class_replaceMethod(c, otherSelector, method_getImplementation(originalMethod), method_getTypeEncoding(originalMethod)); + } + else + { + method_exchangeImplementations(originalMethod, otherMethod); + } +} + ++ (void)swizzleClassMethod:(SEL)selector withMethod:(SEL)otherSelector +{ + // my own class is being targetted + Class c = [self class]; + + // get the methods from the selectors + Method originalMethod = class_getClassMethod(c, selector); + Method otherMethod = class_getClassMethod(c, otherSelector); + +// if (class_addMethod(c, selector, method_getImplementation(otherMethod), method_getTypeEncoding(otherMethod))) +// { +// class_replaceMethod(c, otherSelector, method_getImplementation(originalMethod), method_getTypeEncoding(originalMethod)); +// } +// else +// { + method_exchangeImplementations(originalMethod, otherMethod); +// } + +} + +@end diff --git a/LinphoneTesterTests/en.lproj/InfoPlist.strings b/LinphoneTester Tests/en.lproj/InfoPlist.strings similarity index 100% rename from LinphoneTesterTests/en.lproj/InfoPlist.strings rename to LinphoneTester Tests/en.lproj/InfoPlist.strings diff --git a/LinphoneTester/MasterViewController.m b/LinphoneTester/MasterViewController.m index d1d0243ad..665d89832 100644 --- a/LinphoneTester/MasterViewController.m +++ b/LinphoneTester/MasterViewController.m @@ -47,20 +47,20 @@ static void linphone_log_function(OrtpLogLevel lev, const char *fmt, va_list arg NSString* log = [[NSString alloc] initWithFormat:[NSString stringWithUTF8String:fmt] arguments:args]; NSLog(@"%@",log); - [logsBuffer addObject:log]; - - if (logsBuffer.count >= kLogsBufferCapacity ) { - [lastLogs addObjectsFromArray:logsBuffer]; - - if( lastLogs.count >= kLastLogsCapacity - kLogsBufferCapacity ){ - [lastLogs removeObjectsInRange:NSMakeRange(0, kLogsBufferCapacity)]; - } - [[NSNotificationCenter defaultCenter] postNotificationName:kLogsUpdateNotification - object:nil - userInfo:@{@"newlogs": [logsBuffer copy]}]; - [logsBuffer removeAllObjects]; - } - +// [logsBuffer addObject:log]; +// +// if (logsBuffer.count >= kLogsBufferCapacity ) { +// [lastLogs addObjectsFromArray:logsBuffer]; +// +// if( lastLogs.count >= kLastLogsCapacity - kLogsBufferCapacity ){ +// [lastLogs removeObjectsInRange:NSMakeRange(0, kLogsBufferCapacity)]; +// } +// [[NSNotificationCenter defaultCenter] postNotificationName:kLogsUpdateNotification +// object:nil +// userInfo:@{@"newlogs": [logsBuffer copy]}]; +// [logsBuffer removeAllObjects]; +// } + } diff --git a/LinphoneTesterTests/LinphoneTesterTests.m b/LinphoneTesterTests/LinphoneTesterTests.m deleted file mode 100644 index 28c813448..000000000 --- a/LinphoneTesterTests/LinphoneTesterTests.m +++ /dev/null @@ -1,34 +0,0 @@ -// -// LinphoneTesterTests.m -// LinphoneTesterTests -// -// Created by guillaume on 28/05/2014. -// -// - -#import - -@interface LinphoneTesterTests : XCTestCase - -@end - -@implementation LinphoneTesterTests - -- (void)setUp -{ - [super setUp]; - // Put setup code here. This method is called before the invocation of each test method in the class. -} - -- (void)tearDown -{ - // Put teardown code here. This method is called after the invocation of each test method in the class. - [super tearDown]; -} - -- (void)testExample -{ - XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__); -} - -@end diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index 17ccb5ea7..8416bb05c 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -1355,6 +1355,15 @@ F0818E7F17FC51D8005A3330 /* linphone_icon_76.png in Resources */ = {isa = PBXBuildFile; fileRef = F0818E7C17FC51D8005A3330 /* linphone_icon_76.png */; }; F0818E8017FC51D8005A3330 /* linphone_icon_152.png in Resources */ = {isa = PBXBuildFile; fileRef = F0818E7D17FC51D8005A3330 /* linphone_icon_152.png */; }; F0818E8117FC51D8005A3330 /* linphone_icon_152.png in Resources */ = {isa = PBXBuildFile; fileRef = F0818E7D17FC51D8005A3330 /* linphone_icon_152.png */; }; + F08F118519C09C6B007D70C2 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F03A9B3318C0CF7000C4D7FE /* XCTest.framework */; }; + F08F118619C09C6B007D70C2 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; + F08F118719C09C6B007D70C2 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; + F08F118D19C09C6B007D70C2 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = F08F118B19C09C6B007D70C2 /* InfoPlist.strings */; }; + F08F118F19C09C6B007D70C2 /* LinphoneTester_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = F08F118E19C09C6B007D70C2 /* LinphoneTester_Tests.m */; }; + F08F119919C09D88007D70C2 /* flexisip in Resources */ = {isa = PBXBuildFile; fileRef = F08F119819C09D88007D70C2 /* flexisip */; }; + F08F119A19C09D88007D70C2 /* flexisip in Resources */ = {isa = PBXBuildFile; fileRef = F08F119819C09D88007D70C2 /* flexisip */; }; + F08F119D19C0A65B007D70C2 /* NSObject+DTRuntime.m in Sources */ = {isa = PBXBuildFile; fileRef = F08F119C19C0A65B007D70C2 /* NSObject+DTRuntime.m */; }; + F08F11A019C0A6CB007D70C2 /* DTObjectBlockExecutor.m in Sources */ = {isa = PBXBuildFile; fileRef = F08F119F19C0A6CB007D70C2 /* DTObjectBlockExecutor.m */; }; F0938159188E629800A55DFA /* iTunesArtwork in Resources */ = {isa = PBXBuildFile; fileRef = F0938158188E629800A55DFA /* iTunesArtwork */; }; F093815A188E629800A55DFA /* iTunesArtwork in Resources */ = {isa = PBXBuildFile; fileRef = F0938158188E629800A55DFA /* iTunesArtwork */; }; F0A2759C18157A6000B6D61A /* linphone_icon_120.png in Resources */ = {isa = PBXBuildFile; fileRef = F0818E7B17FC5160005A3330 /* linphone_icon_120.png */; }; @@ -1417,11 +1426,9 @@ F0BB8C3C19362C2200974404 /* certificates in Resources */ = {isa = PBXBuildFile; fileRef = F0BB8C3919362C2200974404 /* certificates */; }; F0BB8C3D19362C2200974404 /* images in Resources */ = {isa = PBXBuildFile; fileRef = F0BB8C3A19362C2200974404 /* images */; }; F0BB8C3E19362C2200974404 /* sounds in Resources */ = {isa = PBXBuildFile; fileRef = F0BB8C3B19362C2200974404 /* sounds */; }; - F0BB8C44193630CA00974404 /* flexisip.conf in Resources */ = {isa = PBXBuildFile; fileRef = F0BB8C3F193630CA00974404 /* flexisip.conf */; }; F0BB8C45193630CA00974404 /* local_tester_hosts in Resources */ = {isa = PBXBuildFile; fileRef = F0BB8C40193630CA00974404 /* local_tester_hosts */; }; F0BB8C46193630CA00974404 /* marie_xml in Resources */ = {isa = PBXBuildFile; fileRef = F0BB8C41193630CA00974404 /* marie_xml */; }; F0BB8C47193630CA00974404 /* tester_hosts in Resources */ = {isa = PBXBuildFile; fileRef = F0BB8C42193630CA00974404 /* tester_hosts */; }; - F0BB8C48193630CA00974404 /* userdb.conf in Resources */ = {isa = PBXBuildFile; fileRef = F0BB8C43193630CA00974404 /* userdb.conf */; }; F0BB8C4C193631D200974404 /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22276E8813C73DC000210156 /* CoreMedia.framework */; }; F0BB8C4D193631DF00974404 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 224567C1107B968500F10948 /* AVFoundation.framework */; }; F476004B147AAF2800FFF19B /* liblinphone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2211DB911475562600DEE054 /* liblinphone.a */; }; @@ -1474,6 +1481,13 @@ remoteGlobalIDString = D2AAC07D0554694100DB518D; remoteInfo = NinePatch; }; + F08F119119C09C6B007D70C2 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; + proxyType = 1; + remoteGlobalIDString = F0BB8BD41936208100974404; + remoteInfo = LinphoneTester; + }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -2265,6 +2279,16 @@ F0818E7B17FC5160005A3330 /* linphone_icon_120.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = linphone_icon_120.png; path = Resources/linphone_icon_120.png; sourceTree = ""; }; F0818E7C17FC51D8005A3330 /* linphone_icon_76.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = linphone_icon_76.png; path = Resources/linphone_icon_76.png; sourceTree = ""; }; F0818E7D17FC51D8005A3330 /* linphone_icon_152.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = linphone_icon_152.png; path = Resources/linphone_icon_152.png; sourceTree = ""; }; + F08F118419C09C6A007D70C2 /* LinphoneTester Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "LinphoneTester Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + F08F118A19C09C6B007D70C2 /* LinphoneTester Tests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "LinphoneTester Tests-Info.plist"; sourceTree = ""; }; + F08F118C19C09C6B007D70C2 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + F08F118E19C09C6B007D70C2 /* LinphoneTester_Tests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LinphoneTester_Tests.m; sourceTree = ""; }; + F08F119019C09C6B007D70C2 /* LinphoneTester Tests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "LinphoneTester Tests-Prefix.pch"; sourceTree = ""; }; + F08F119819C09D88007D70C2 /* flexisip */ = {isa = PBXFileReference; lastKnownFileType = folder; name = flexisip; path = submodules/linphone/tester/flexisip; sourceTree = SOURCE_ROOT; }; + F08F119B19C0A65A007D70C2 /* NSObject+DTRuntime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+DTRuntime.h"; sourceTree = ""; }; + F08F119C19C0A65B007D70C2 /* NSObject+DTRuntime.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+DTRuntime.m"; sourceTree = ""; }; + F08F119E19C0A6CB007D70C2 /* DTObjectBlockExecutor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DTObjectBlockExecutor.h; sourceTree = ""; }; + F08F119F19C0A6CB007D70C2 /* DTObjectBlockExecutor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DTObjectBlockExecutor.m; sourceTree = ""; }; F0938158188E629800A55DFA /* iTunesArtwork */ = {isa = PBXFileReference; lastKnownFileType = file; path = iTunesArtwork; sourceTree = ""; }; F09548181883F15300E8A69B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ChatRoomViewController.xib; sourceTree = ""; }; F09548191883F15300E8A69B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ChatViewController.xib; sourceTree = ""; }; @@ -2356,9 +2380,6 @@ F0BB8BEE1936208200974404 /* DetailViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DetailViewController.h; sourceTree = ""; }; F0BB8BEF1936208200974404 /* DetailViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DetailViewController.m; sourceTree = ""; }; F0BB8BF11936208200974404 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; - F0BB8BFF1936208200974404 /* LinphoneTesterTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "LinphoneTesterTests-Info.plist"; sourceTree = ""; }; - F0BB8C011936208200974404 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; - F0BB8C031936208200974404 /* LinphoneTesterTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LinphoneTesterTests.m; sourceTree = ""; }; F0BB8C0F193623F200974404 /* liblinphonetester.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = liblinphonetester.a; path = "liblinphone-sdk/apple-darwin/lib/liblinphonetester.a"; sourceTree = ""; }; F0BB8C111936240300974404 /* libcunit.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcunit.a; path = "liblinphone-sdk/apple-darwin/lib/libcunit.a"; sourceTree = ""; }; F0BB8C311936246600974404 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; }; @@ -2367,11 +2388,9 @@ F0BB8C3919362C2200974404 /* certificates */ = {isa = PBXFileReference; lastKnownFileType = folder; name = certificates; path = submodules/linphone/tester/certificates; sourceTree = SOURCE_ROOT; }; F0BB8C3A19362C2200974404 /* images */ = {isa = PBXFileReference; lastKnownFileType = folder; name = images; path = submodules/linphone/tester/images; sourceTree = SOURCE_ROOT; }; F0BB8C3B19362C2200974404 /* sounds */ = {isa = PBXFileReference; lastKnownFileType = folder; name = sounds; path = submodules/linphone/tester/sounds; sourceTree = SOURCE_ROOT; }; - F0BB8C3F193630CA00974404 /* flexisip.conf */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = flexisip.conf; path = submodules/linphone/tester/flexisip.conf; sourceTree = SOURCE_ROOT; }; F0BB8C40193630CA00974404 /* local_tester_hosts */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = local_tester_hosts; path = submodules/linphone/tester/local_tester_hosts; sourceTree = SOURCE_ROOT; }; F0BB8C41193630CA00974404 /* marie_xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; name = marie_xml; path = submodules/linphone/tester/marie_xml; sourceTree = SOURCE_ROOT; }; F0BB8C42193630CA00974404 /* tester_hosts */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = tester_hosts; path = submodules/linphone/tester/tester_hosts; sourceTree = SOURCE_ROOT; }; - F0BB8C43193630CA00974404 /* userdb.conf */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = userdb.conf; path = submodules/linphone/tester/userdb.conf; sourceTree = SOURCE_ROOT; }; F0BB8C4A193631B300974404 /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = System/Library/Frameworks/ImageIO.framework; sourceTree = SDKROOT; }; F84015BC1939FE37006ABAB5 /* test_failed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = test_failed.png; path = Resources/test_failed.png; sourceTree = ""; }; F84015BD1939FE37006ABAB5 /* test_inprogress.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = test_inprogress.png; path = Resources/test_inprogress.png; sourceTree = ""; }; @@ -2498,6 +2517,16 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + F08F118119C09C6A007D70C2 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F08F118519C09C6B007D70C2 /* XCTest.framework in Frameworks */, + F08F118719C09C6B007D70C2 /* UIKit.framework in Frameworks */, + F08F118619C09C6B007D70C2 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; F0BB8BD21936208100974404 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -2643,6 +2672,7 @@ 1D6058910D05DD3D006BFB54 /* linphone.app */, 22D8F187147548E2008C97DB /* linphone-no-gpl-thirdparties.app */, F0BB8BD51936208100974404 /* LinphoneTester.app */, + F08F118419C09C6A007D70C2 /* LinphoneTester Tests.xctest */, ); name = Products; sourceTree = ""; @@ -2739,15 +2769,15 @@ 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = { isa = PBXGroup; children = ( - F0938158188E629800A55DFA /* iTunesArtwork */, - 2258633C11410BAC00C5A737 /* README */, - F04892FE180C3296002FED35 /* ImageOptim.sh */, 080E96DDFE201D6D7F000001 /* Classes */, 29B97323FDCFA39411CA2CEA /* Frameworks */, + F04892FE180C3296002FED35 /* ImageOptim.sh */, + F0938158188E629800A55DFA /* iTunesArtwork */, F0BB8BD91936208100974404 /* LinphoneTester */, - F0BB8BFD1936208200974404 /* LinphoneTesterTests */, + F08F118819C09C6B007D70C2 /* LinphoneTester Tests */, 29B97315FDCFA39411CA2CEA /* Other Sources */, 19C28FACFE9D520D11CA2CBB /* Products */, + 2258633C11410BAC00C5A737 /* README */, 29B97317FDCFA39411CA2CEA /* Resources */, D398D3031594B0FB00FD553C /* Settings */, ); @@ -3038,6 +3068,29 @@ name = UACellBackgroundView; sourceTree = ""; }; + F08F118819C09C6B007D70C2 /* LinphoneTester Tests */ = { + isa = PBXGroup; + children = ( + F08F118E19C09C6B007D70C2 /* LinphoneTester_Tests.m */, + F08F119E19C0A6CB007D70C2 /* DTObjectBlockExecutor.h */, + F08F119F19C0A6CB007D70C2 /* DTObjectBlockExecutor.m */, + F08F119B19C0A65A007D70C2 /* NSObject+DTRuntime.h */, + F08F119C19C0A65B007D70C2 /* NSObject+DTRuntime.m */, + F08F118919C09C6B007D70C2 /* Supporting Files */, + ); + path = "LinphoneTester Tests"; + sourceTree = ""; + }; + F08F118919C09C6B007D70C2 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + F08F118A19C09C6B007D70C2 /* LinphoneTester Tests-Info.plist */, + F08F118B19C09C6B007D70C2 /* InfoPlist.strings */, + F08F119019C09C6B007D70C2 /* LinphoneTester Tests-Prefix.pch */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; F0B89C2318DC90850050B60E /* images */ = { isa = PBXGroup; children = ( @@ -3555,11 +3608,10 @@ F0BB8BDA1936208100974404 /* Supporting Files */ = { isa = PBXGroup; children = ( - F0BB8C3F193630CA00974404 /* flexisip.conf */, + F08F119819C09D88007D70C2 /* flexisip */, F0BB8C40193630CA00974404 /* local_tester_hosts */, F0BB8C41193630CA00974404 /* marie_xml */, F0BB8C42193630CA00974404 /* tester_hosts */, - F0BB8C43193630CA00974404 /* userdb.conf */, F0BB8C3919362C2200974404 /* certificates */, F0BB8C3A19362C2200974404 /* images */, F0BB8C3B19362C2200974404 /* sounds */, @@ -3572,24 +3624,6 @@ name = "Supporting Files"; sourceTree = ""; }; - F0BB8BFD1936208200974404 /* LinphoneTesterTests */ = { - isa = PBXGroup; - children = ( - F0BB8C031936208200974404 /* LinphoneTesterTests.m */, - F0BB8BFE1936208200974404 /* Supporting Files */, - ); - path = LinphoneTesterTests; - sourceTree = ""; - }; - F0BB8BFE1936208200974404 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - F0BB8BFF1936208200974404 /* LinphoneTesterTests-Info.plist */, - F0BB8C001936208200974404 /* InfoPlist.strings */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -3635,6 +3669,24 @@ productReference = 22D8F187147548E2008C97DB /* linphone-no-gpl-thirdparties.app */; productType = "com.apple.product-type.application"; }; + F08F118319C09C6A007D70C2 /* LinphoneTester Tests */ = { + isa = PBXNativeTarget; + buildConfigurationList = F08F119319C09C6B007D70C2 /* Build configuration list for PBXNativeTarget "LinphoneTester Tests" */; + buildPhases = ( + F08F118019C09C6A007D70C2 /* Sources */, + F08F118119C09C6A007D70C2 /* Frameworks */, + F08F118219C09C6A007D70C2 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + F08F119219C09C6B007D70C2 /* PBXTargetDependency */, + ); + name = "LinphoneTester Tests"; + productName = "LinphoneTester Tests"; + productReference = F08F118419C09C6A007D70C2 /* LinphoneTester Tests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; F0BB8BD41936208100974404 /* LinphoneTester */ = { isa = PBXNativeTarget; buildConfigurationList = F0BB8C051936208200974404 /* Build configuration list for PBXNativeTarget "LinphoneTester" */; @@ -3642,6 +3694,7 @@ F0BB8BD11936208100974404 /* Sources */, F0BB8BD21936208100974404 /* Frameworks */, F0BB8BD31936208100974404 /* Resources */, + F08F11A219C0AC2F007D70C2 /* ShellScript */, ); buildRules = ( ); @@ -3666,6 +3719,9 @@ 22D8F11D147548E2008C97DB = { DevelopmentTeam = Z2V957B3D6; }; + F08F118319C09C6A007D70C2 = { + TestTargetID = F0BB8BD41936208100974404; + }; F0BB8BD41936208100974404 = { DevelopmentTeam = Z2V957B3D6; }; @@ -3702,6 +3758,7 @@ 1D6058900D05DD3D006BFB54 /* linphone */, 22D8F11D147548E2008C97DB /* linphone-no-gpl-thirdparties */, F0BB8BD41936208100974404 /* LinphoneTester */, + F08F118319C09C6A007D70C2 /* LinphoneTester Tests */, ); }; /* End PBXProject section */ @@ -4816,16 +4873,24 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + F08F118219C09C6A007D70C2 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F08F119A19C09D88007D70C2 /* flexisip in Resources */, + F08F118D19C09C6B007D70C2 /* InfoPlist.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; F0BB8BD31936208100974404 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( F0BB8C3819362C1500974404 /* rcfiles in Resources */, F84015C11939FE37006ABAB5 /* test_passed.png in Resources */, - F0BB8C44193630CA00974404 /* flexisip.conf in Resources */, + F08F119919C09D88007D70C2 /* flexisip in Resources */, F0BB8C46193630CA00974404 /* marie_xml in Resources */, F0BB8BEA1936208200974404 /* Main_iPad.storyboard in Resources */, - F0BB8C48193630CA00974404 /* userdb.conf in Resources */, F0BB8C3E19362C2200974404 /* sounds in Resources */, F84015BF1939FE37006ABAB5 /* test_failed.png in Resources */, F0BB8BF21936208200974404 /* Images.xcassets in Resources */, @@ -4868,6 +4933,19 @@ shellPath = /bin/sh; shellScript = $SRCROOT/ImageOptim.sh; }; + F08F11A219C0AC2F007D70C2 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 12; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "if [ \"$RUN_UNIT_TEST_WITH_IOS_SIM\" = \"YES\" ]; then\ntest_bundle_path=\"$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.$WRAPPER_EXTENSION\"\nios-sim launch \"$(dirname \"$TEST_HOST\")\" --setenv DYLD_INSERT_LIBRARIES=/../../Library/PrivateFrameworks/IDEBundleInjection.framework/IDEBundleInjection --setenv XCInjectBundle=\"$test_bundle_path\" --setenv XCInjectBundleInto=\"$TEST_HOST\" --args -SenTest All \"$test_bundle_path\"\necho \"Finished running tests with ios-sim\"\nelse\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\nfi"; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -5069,6 +5147,16 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + F08F118019C09C6A007D70C2 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F08F119D19C0A65B007D70C2 /* NSObject+DTRuntime.m in Sources */, + F08F118F19C09C6B007D70C2 /* LinphoneTester_Tests.m in Sources */, + F08F11A019C0A6CB007D70C2 /* DTObjectBlockExecutor.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; F0BB8BD11936208100974404 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -5104,6 +5192,11 @@ name = NinePatch; targetProxy = D3B90E1C15C2CBCD00F64F8C /* PBXContainerItemProxy */; }; + F08F119219C09C6B007D70C2 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F0BB8BD41936208100974404 /* LinphoneTester */; + targetProxy = F08F119119C09C6B007D70C2 /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ @@ -5367,6 +5460,14 @@ name = "IncomingCallViewController~ipad.xib"; sourceTree = ""; }; + F08F118B19C09C6B007D70C2 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + F08F118C19C09C6B007D70C2 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; F0BB8BDC1936208100974404 /* InfoPlist.strings */ = { isa = PBXVariantGroup; children = ( @@ -5391,14 +5492,6 @@ name = Main_iPad.storyboard; sourceTree = ""; }; - F0BB8C001936208200974404 /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - F0BB8C011936208200974404 /* en */, - ); - name = InfoPlist.strings; - sourceTree = ""; - }; /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ @@ -5833,6 +5926,200 @@ }; name = Debug; }; + F08F119419C09C6B007D70C2 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/LinphoneTester.app/LinphoneTester"; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + "$(DEVELOPER_FRAMEWORKS_DIR)", + ); + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "LinphoneTester Tests/LinphoneTester Tests-Prefix.pch"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + HEADER_SEARCH_PATHS = ( + "liblinphone-sdk/apple-darwin/include", + Classes/Utils/NinePatch/, + Classes/Utils/XMLRPC/, + ); + INFOPLIST_FILE = "LinphoneTester Tests/LinphoneTester Tests-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 7.1; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib", + "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", + ); + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUNDLE_LOADER)"; + WRAPPER_EXTENSION = xctest; + }; + name = Debug; + }; + F08F119519C09C6B007D70C2 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/LinphoneTester.app/LinphoneTester"; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + "$(DEVELOPER_FRAMEWORKS_DIR)", + ); + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "LinphoneTester Tests/LinphoneTester Tests-Prefix.pch"; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + HEADER_SEARCH_PATHS = ( + "liblinphone-sdk/apple-darwin/include", + Classes/Utils/NinePatch/, + Classes/Utils/XMLRPC/, + ); + INFOPLIST_FILE = "LinphoneTester Tests/LinphoneTester Tests-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 7.1; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib", + "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUNDLE_LOADER)"; + VALIDATE_PRODUCT = YES; + WRAPPER_EXTENSION = xctest; + }; + name = Release; + }; + F08F119619C09C6B007D70C2 /* Distribution */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/LinphoneTester.app/LinphoneTester"; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + "$(DEVELOPER_FRAMEWORKS_DIR)", + ); + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "LinphoneTester Tests/LinphoneTester Tests-Prefix.pch"; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + HEADER_SEARCH_PATHS = ( + "liblinphone-sdk/apple-darwin/include", + Classes/Utils/NinePatch/, + Classes/Utils/XMLRPC/, + ); + INFOPLIST_FILE = "LinphoneTester Tests/LinphoneTester Tests-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 7.1; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib", + "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUNDLE_LOADER)"; + VALIDATE_PRODUCT = YES; + WRAPPER_EXTENSION = xctest; + }; + name = Distribution; + }; + F08F119719C09C6B007D70C2 /* DistributionAdhoc */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/LinphoneTester.app/LinphoneTester"; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + "$(DEVELOPER_FRAMEWORKS_DIR)", + ); + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "LinphoneTester Tests/LinphoneTester Tests-Prefix.pch"; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + HEADER_SEARCH_PATHS = ( + "liblinphone-sdk/apple-darwin/include", + Classes/Utils/NinePatch/, + Classes/Utils/XMLRPC/, + ); + INFOPLIST_FILE = "LinphoneTester Tests/LinphoneTester Tests-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 7.1; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib", + "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUNDLE_LOADER)"; + VALIDATE_PRODUCT = YES; + WRAPPER_EXTENSION = xctest; + }; + name = DistributionAdhoc; + }; F0BB8C061936208200974404 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -5850,6 +6137,10 @@ CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(DEVELOPER_FRAMEWORKS_DIR)", + ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; @@ -5871,7 +6162,7 @@ Classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "LinphoneTester/LinphoneTester-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib", @@ -5879,7 +6170,7 @@ ); ONLY_ACTIVE_ARCH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE = "72278EC2-F54D-4717-86AD-08D6E2AEC22B"; + PROVISIONING_PROFILE = ""; WRAPPER_EXTENSION = app; }; name = Debug; @@ -5902,6 +6193,10 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(DEVELOPER_FRAMEWORKS_DIR)", + ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "LinphoneTester/LinphoneTester-Prefix.pch"; @@ -5916,14 +6211,14 @@ Classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "LinphoneTester/LinphoneTester-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib", "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE = "72278EC2-F54D-4717-86AD-08D6E2AEC22B"; + PROVISIONING_PROFILE = ""; VALIDATE_PRODUCT = YES; WRAPPER_EXTENSION = app; }; @@ -5947,6 +6242,10 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(DEVELOPER_FRAMEWORKS_DIR)", + ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "LinphoneTester/LinphoneTester-Prefix.pch"; @@ -5961,14 +6260,14 @@ Classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "LinphoneTester/LinphoneTester-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib", "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE = "72278EC2-F54D-4717-86AD-08D6E2AEC22B"; + PROVISIONING_PROFILE = ""; VALIDATE_PRODUCT = YES; WRAPPER_EXTENSION = app; }; @@ -5992,6 +6291,10 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(DEVELOPER_FRAMEWORKS_DIR)", + ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "LinphoneTester/LinphoneTester-Prefix.pch"; @@ -6006,14 +6309,14 @@ Classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "LinphoneTester/LinphoneTester-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib", "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE = "72278EC2-F54D-4717-86AD-08D6E2AEC22B"; + PROVISIONING_PROFILE = ""; VALIDATE_PRODUCT = YES; WRAPPER_EXTENSION = app; }; @@ -6055,6 +6358,17 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + F08F119319C09C6B007D70C2 /* Build configuration list for PBXNativeTarget "LinphoneTester Tests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F08F119419C09C6B007D70C2 /* Debug */, + F08F119519C09C6B007D70C2 /* Release */, + F08F119619C09C6B007D70C2 /* Distribution */, + F08F119719C09C6B007D70C2 /* DistributionAdhoc */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; F0BB8C051936208200974404 /* Build configuration list for PBXNativeTarget "LinphoneTester" */ = { isa = XCConfigurationList; buildConfigurations = (