mirror of https://github.com/grpc/grpc.git
Merge pull request #1834 from jcanizales/separate-tests
Add a project for tests, separate from the example projectpull/1853/head
commit
1f52e0780a
6 changed files with 653 additions and 0 deletions
@ -0,0 +1,24 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> |
||||||
|
<plist version="1.0"> |
||||||
|
<dict> |
||||||
|
<key>CFBundleDevelopmentRegion</key> |
||||||
|
<string>en</string> |
||||||
|
<key>CFBundleExecutable</key> |
||||||
|
<string>$(EXECUTABLE_NAME)</string> |
||||||
|
<key>CFBundleIdentifier</key> |
||||||
|
<string>gRPC.$(PRODUCT_NAME:rfc1034identifier)</string> |
||||||
|
<key>CFBundleInfoDictionaryVersion</key> |
||||||
|
<string>6.0</string> |
||||||
|
<key>CFBundleName</key> |
||||||
|
<string>$(PRODUCT_NAME)</string> |
||||||
|
<key>CFBundlePackageType</key> |
||||||
|
<string>BNDL</string> |
||||||
|
<key>CFBundleShortVersionString</key> |
||||||
|
<string>1.0</string> |
||||||
|
<key>CFBundleSignature</key> |
||||||
|
<string>????</string> |
||||||
|
<key>CFBundleVersion</key> |
||||||
|
<string>1</string> |
||||||
|
</dict> |
||||||
|
</plist> |
@ -0,0 +1,12 @@ |
|||||||
|
source 'https://github.com/CocoaPods/Specs.git' |
||||||
|
platform :ios, '8.0' |
||||||
|
|
||||||
|
pod 'gRPC/RxLibrary', :path => "../../.." |
||||||
|
|
||||||
|
link_with 'AllTests' |
||||||
|
|
||||||
|
target 'Tests' do |
||||||
|
end |
||||||
|
|
||||||
|
target 'AllTests' do |
||||||
|
end |
@ -0,0 +1,140 @@ |
|||||||
|
/* |
||||||
|
* |
||||||
|
* Copyright 2015, Google Inc. |
||||||
|
* All rights reserved. |
||||||
|
* |
||||||
|
* Redistribution and use in source and binary forms, with or without |
||||||
|
* modification, are permitted provided that the following conditions are |
||||||
|
* met: |
||||||
|
* |
||||||
|
* * Redistributions of source code must retain the above copyright |
||||||
|
* notice, this list of conditions and the following disclaimer. |
||||||
|
* * Redistributions in binary form must reproduce the above |
||||||
|
* copyright notice, this list of conditions and the following disclaimer |
||||||
|
* in the documentation and/or other materials provided with the |
||||||
|
* distribution. |
||||||
|
* * Neither the name of Google Inc. nor the names of its |
||||||
|
* contributors may be used to endorse or promote products derived from |
||||||
|
* this software without specific prior written permission. |
||||||
|
* |
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||||
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||||
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||||
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||||
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||||
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||||
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||||
|
* |
||||||
|
*/ |
||||||
|
|
||||||
|
#import <UIKit/UIKit.h> |
||||||
|
#import <XCTest/XCTest.h> |
||||||
|
|
||||||
|
#import <gRPC/GRXBufferedPipe.h> |
||||||
|
#import <gRPC/GRXWriter.h> |
||||||
|
#import <gRPC/GRXWriteable.h> |
||||||
|
|
||||||
|
// A mock of a GRXSingleValueHandler block that can be queried for how many times it was called and |
||||||
|
// what were the last values passed to it. |
||||||
|
// |
||||||
|
// TODO(jcanizales): Move this to a test util library, and add tests for it. |
||||||
|
@interface CapturingSingleValueHandler : NSObject |
||||||
|
@property (nonatomic, readonly) void (^block)(id value, NSError *errorOrNil); |
||||||
|
@property (nonatomic, readonly) NSUInteger timesCalled; |
||||||
|
@property (nonatomic, readonly) id value; |
||||||
|
@property (nonatomic, readonly) NSError *errorOrNil; |
||||||
|
+ (instancetype)handler; |
||||||
|
@end |
||||||
|
|
||||||
|
@implementation CapturingSingleValueHandler |
||||||
|
+ (instancetype)handler { |
||||||
|
return [[self alloc] init]; |
||||||
|
} |
||||||
|
|
||||||
|
- (GRXSingleValueHandler)block { |
||||||
|
return ^(id value, NSError *errorOrNil) { |
||||||
|
++_timesCalled; |
||||||
|
_value = value; |
||||||
|
_errorOrNil = errorOrNil; |
||||||
|
}; |
||||||
|
} |
||||||
|
@end |
||||||
|
|
||||||
|
@interface RxLibraryUnitTests : XCTestCase |
||||||
|
@end |
||||||
|
|
||||||
|
@implementation RxLibraryUnitTests |
||||||
|
|
||||||
|
#pragma mark Writeable |
||||||
|
|
||||||
|
- (void)testWriteableSingleValueHandlerIsCalledForValue { |
||||||
|
// Given: |
||||||
|
CapturingSingleValueHandler *handler = [CapturingSingleValueHandler handler]; |
||||||
|
id anyValue = @7; |
||||||
|
|
||||||
|
// If: |
||||||
|
id<GRXWriteable> writeable = [GRXWriteable writeableWithSingleValueHandler:handler.block]; |
||||||
|
[writeable writeValue:anyValue]; |
||||||
|
|
||||||
|
// Then: |
||||||
|
XCTAssertEqual(handler.timesCalled, 1); |
||||||
|
XCTAssertEqualObjects(handler.value, anyValue); |
||||||
|
XCTAssertEqualObjects(handler.errorOrNil, nil); |
||||||
|
} |
||||||
|
|
||||||
|
- (void)testWriteableSingleValueHandlerIsCalledForError { |
||||||
|
// Given: |
||||||
|
CapturingSingleValueHandler *handler = [CapturingSingleValueHandler handler]; |
||||||
|
NSError *anyError = [NSError errorWithDomain:@"domain" code:7 userInfo:nil]; |
||||||
|
|
||||||
|
// If: |
||||||
|
id<GRXWriteable> writeable = [GRXWriteable writeableWithSingleValueHandler:handler.block]; |
||||||
|
[writeable writesFinishedWithError:anyError]; |
||||||
|
|
||||||
|
// Then: |
||||||
|
XCTAssertEqual(handler.timesCalled, 1); |
||||||
|
XCTAssertEqualObjects(handler.value, nil); |
||||||
|
XCTAssertEqualObjects(handler.errorOrNil, anyError); |
||||||
|
} |
||||||
|
|
||||||
|
#pragma mark BufferedPipe |
||||||
|
|
||||||
|
- (void)testBufferedPipePropagatesValue { |
||||||
|
// Given: |
||||||
|
CapturingSingleValueHandler *handler = [CapturingSingleValueHandler handler]; |
||||||
|
id<GRXWriteable> writeable = [GRXWriteable writeableWithSingleValueHandler:handler.block]; |
||||||
|
id anyValue = @7; |
||||||
|
|
||||||
|
// If: |
||||||
|
GRXBufferedPipe *pipe = [GRXBufferedPipe pipe]; |
||||||
|
[pipe startWithWriteable:writeable]; |
||||||
|
[pipe writeValue:anyValue]; |
||||||
|
|
||||||
|
// Then: |
||||||
|
XCTAssertEqual(handler.timesCalled, 1); |
||||||
|
XCTAssertEqualObjects(handler.value, anyValue); |
||||||
|
XCTAssertEqualObjects(handler.errorOrNil, nil); |
||||||
|
} |
||||||
|
|
||||||
|
- (void)testBufferedPipePropagatesError { |
||||||
|
// Given: |
||||||
|
CapturingSingleValueHandler *handler = [CapturingSingleValueHandler handler]; |
||||||
|
id<GRXWriteable> writeable = [GRXWriteable writeableWithSingleValueHandler:handler.block]; |
||||||
|
NSError *anyError = [NSError errorWithDomain:@"domain" code:7 userInfo:nil]; |
||||||
|
|
||||||
|
// If: |
||||||
|
GRXBufferedPipe *pipe = [GRXBufferedPipe pipe]; |
||||||
|
[pipe startWithWriteable:writeable]; |
||||||
|
[pipe writesFinishedWithError:anyError]; |
||||||
|
|
||||||
|
// Then: |
||||||
|
XCTAssertEqual(handler.timesCalled, 1); |
||||||
|
XCTAssertEqualObjects(handler.value, nil); |
||||||
|
XCTAssertEqualObjects(handler.errorOrNil, anyError); |
||||||
|
} |
||||||
|
|
||||||
|
@end |
@ -0,0 +1,40 @@ |
|||||||
|
/* |
||||||
|
* |
||||||
|
* Copyright 2015, Google Inc. |
||||||
|
* All rights reserved. |
||||||
|
* |
||||||
|
* Redistribution and use in source and binary forms, with or without |
||||||
|
* modification, are permitted provided that the following conditions are |
||||||
|
* met: |
||||||
|
* |
||||||
|
* * Redistributions of source code must retain the above copyright |
||||||
|
* notice, this list of conditions and the following disclaimer. |
||||||
|
* * Redistributions in binary form must reproduce the above |
||||||
|
* copyright notice, this list of conditions and the following disclaimer |
||||||
|
* in the documentation and/or other materials provided with the |
||||||
|
* distribution. |
||||||
|
* * Neither the name of Google Inc. nor the names of its |
||||||
|
* contributors may be used to endorse or promote products derived from |
||||||
|
* this software without specific prior written permission. |
||||||
|
* |
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||||
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||||
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||||
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||||
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||||
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||||
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||||
|
* |
||||||
|
*/ |
||||||
|
|
||||||
|
#import <Foundation/Foundation.h> |
||||||
|
|
||||||
|
@interface Tests : NSObject |
||||||
|
@end |
||||||
|
|
||||||
|
@implementation Tests |
||||||
|
@end |
@ -0,0 +1,430 @@ |
|||||||
|
// !$*UTF8*$! |
||||||
|
{ |
||||||
|
archiveVersion = 1; |
||||||
|
classes = { |
||||||
|
}; |
||||||
|
objectVersion = 46; |
||||||
|
objects = { |
||||||
|
|
||||||
|
/* Begin PBXBuildFile section */ |
||||||
|
63423F4A1B150A5F006CF63C /* libTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 635697C71B14FC11007A7283 /* libTests.a */; }; |
||||||
|
63423F511B151B77006CF63C /* RxLibraryUnitTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 63423F501B151B77006CF63C /* RxLibraryUnitTests.m */; }; |
||||||
|
635697CD1B14FC11007A7283 /* Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 635697CC1B14FC11007A7283 /* Tests.m */; }; |
||||||
|
7D8A186224D39101F90230F6 /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 35F2B6BF3BAE8F0DC4AFD76E /* libPods.a */; }; |
||||||
|
/* End PBXBuildFile section */ |
||||||
|
|
||||||
|
/* Begin PBXContainerItemProxy section */ |
||||||
|
63423F4B1B150A5F006CF63C /* PBXContainerItemProxy */ = { |
||||||
|
isa = PBXContainerItemProxy; |
||||||
|
containerPortal = 635697BF1B14FC11007A7283 /* Project object */; |
||||||
|
proxyType = 1; |
||||||
|
remoteGlobalIDString = 635697C61B14FC11007A7283; |
||||||
|
remoteInfo = Tests; |
||||||
|
}; |
||||||
|
/* End PBXContainerItemProxy section */ |
||||||
|
|
||||||
|
/* Begin PBXCopyFilesBuildPhase section */ |
||||||
|
635697C51B14FC11007A7283 /* CopyFiles */ = { |
||||||
|
isa = PBXCopyFilesBuildPhase; |
||||||
|
buildActionMask = 2147483647; |
||||||
|
dstPath = "include/$(PRODUCT_NAME)"; |
||||||
|
dstSubfolderSpec = 16; |
||||||
|
files = ( |
||||||
|
); |
||||||
|
runOnlyForDeploymentPostprocessing = 0; |
||||||
|
}; |
||||||
|
/* End PBXCopyFilesBuildPhase section */ |
||||||
|
|
||||||
|
/* Begin PBXFileReference section */ |
||||||
|
0A4F89D9C90E9C30990218F0 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.release.xcconfig; path = "Pods/Target Support Files/Pods/Pods.release.xcconfig"; sourceTree = "<group>"; }; |
||||||
|
35F2B6BF3BAE8F0DC4AFD76E /* libPods.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPods.a; sourceTree = BUILT_PRODUCTS_DIR; }; |
||||||
|
63423F441B150A5F006CF63C /* AllTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AllTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; |
||||||
|
63423F501B151B77006CF63C /* RxLibraryUnitTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RxLibraryUnitTests.m; sourceTree = "<group>"; }; |
||||||
|
635697C71B14FC11007A7283 /* libTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libTests.a; sourceTree = BUILT_PRODUCTS_DIR; }; |
||||||
|
635697CC1B14FC11007A7283 /* Tests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Tests.m; sourceTree = "<group>"; }; |
||||||
|
635697D81B14FC11007A7283 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; |
||||||
|
FF7B5489BCFE40111D768DD0 /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = "<group>"; }; |
||||||
|
/* End PBXFileReference section */ |
||||||
|
|
||||||
|
/* Begin PBXFrameworksBuildPhase section */ |
||||||
|
63423F411B150A5F006CF63C /* Frameworks */ = { |
||||||
|
isa = PBXFrameworksBuildPhase; |
||||||
|
buildActionMask = 2147483647; |
||||||
|
files = ( |
||||||
|
63423F4A1B150A5F006CF63C /* libTests.a in Frameworks */, |
||||||
|
7D8A186224D39101F90230F6 /* libPods.a in Frameworks */, |
||||||
|
); |
||||||
|
runOnlyForDeploymentPostprocessing = 0; |
||||||
|
}; |
||||||
|
635697C41B14FC11007A7283 /* Frameworks */ = { |
||||||
|
isa = PBXFrameworksBuildPhase; |
||||||
|
buildActionMask = 2147483647; |
||||||
|
files = ( |
||||||
|
); |
||||||
|
runOnlyForDeploymentPostprocessing = 0; |
||||||
|
}; |
||||||
|
/* End PBXFrameworksBuildPhase section */ |
||||||
|
|
||||||
|
/* Begin PBXGroup section */ |
||||||
|
136D535E19727099B941D7B1 /* Frameworks */ = { |
||||||
|
isa = PBXGroup; |
||||||
|
children = ( |
||||||
|
35F2B6BF3BAE8F0DC4AFD76E /* libPods.a */, |
||||||
|
); |
||||||
|
name = Frameworks; |
||||||
|
sourceTree = "<group>"; |
||||||
|
}; |
||||||
|
51E4650F34F854F41FF053B3 /* Pods */ = { |
||||||
|
isa = PBXGroup; |
||||||
|
children = ( |
||||||
|
FF7B5489BCFE40111D768DD0 /* Pods.debug.xcconfig */, |
||||||
|
0A4F89D9C90E9C30990218F0 /* Pods.release.xcconfig */, |
||||||
|
); |
||||||
|
name = Pods; |
||||||
|
sourceTree = "<group>"; |
||||||
|
}; |
||||||
|
635697BE1B14FC11007A7283 = { |
||||||
|
isa = PBXGroup; |
||||||
|
children = ( |
||||||
|
635697C91B14FC11007A7283 /* Tests */, |
||||||
|
635697C81B14FC11007A7283 /* Products */, |
||||||
|
51E4650F34F854F41FF053B3 /* Pods */, |
||||||
|
136D535E19727099B941D7B1 /* Frameworks */, |
||||||
|
); |
||||||
|
sourceTree = "<group>"; |
||||||
|
}; |
||||||
|
635697C81B14FC11007A7283 /* Products */ = { |
||||||
|
isa = PBXGroup; |
||||||
|
children = ( |
||||||
|
635697C71B14FC11007A7283 /* libTests.a */, |
||||||
|
63423F441B150A5F006CF63C /* AllTests.xctest */, |
||||||
|
); |
||||||
|
name = Products; |
||||||
|
sourceTree = "<group>"; |
||||||
|
}; |
||||||
|
635697C91B14FC11007A7283 /* Tests */ = { |
||||||
|
isa = PBXGroup; |
||||||
|
children = ( |
||||||
|
63423F501B151B77006CF63C /* RxLibraryUnitTests.m */, |
||||||
|
635697CC1B14FC11007A7283 /* Tests.m */, |
||||||
|
635697D71B14FC11007A7283 /* Supporting Files */, |
||||||
|
); |
||||||
|
name = Tests; |
||||||
|
sourceTree = SOURCE_ROOT; |
||||||
|
}; |
||||||
|
635697D71B14FC11007A7283 /* Supporting Files */ = { |
||||||
|
isa = PBXGroup; |
||||||
|
children = ( |
||||||
|
635697D81B14FC11007A7283 /* Info.plist */, |
||||||
|
); |
||||||
|
name = "Supporting Files"; |
||||||
|
sourceTree = "<group>"; |
||||||
|
}; |
||||||
|
/* End PBXGroup section */ |
||||||
|
|
||||||
|
/* Begin PBXNativeTarget section */ |
||||||
|
63423F431B150A5F006CF63C /* AllTests */ = { |
||||||
|
isa = PBXNativeTarget; |
||||||
|
buildConfigurationList = 63423F4D1B150A5F006CF63C /* Build configuration list for PBXNativeTarget "AllTests" */; |
||||||
|
buildPhases = ( |
||||||
|
914ADDD7106BA9BB8A7E569F /* Check Pods Manifest.lock */, |
||||||
|
63423F401B150A5F006CF63C /* Sources */, |
||||||
|
63423F411B150A5F006CF63C /* Frameworks */, |
||||||
|
63423F421B150A5F006CF63C /* Resources */, |
||||||
|
A441F71824DCB9D0CA297748 /* Copy Pods Resources */, |
||||||
|
); |
||||||
|
buildRules = ( |
||||||
|
); |
||||||
|
dependencies = ( |
||||||
|
63423F4C1B150A5F006CF63C /* PBXTargetDependency */, |
||||||
|
); |
||||||
|
name = AllTests; |
||||||
|
productName = AllTests; |
||||||
|
productReference = 63423F441B150A5F006CF63C /* AllTests.xctest */; |
||||||
|
productType = "com.apple.product-type.bundle.unit-test"; |
||||||
|
}; |
||||||
|
635697C61B14FC11007A7283 /* Tests */ = { |
||||||
|
isa = PBXNativeTarget; |
||||||
|
buildConfigurationList = 635697DB1B14FC11007A7283 /* Build configuration list for PBXNativeTarget "Tests" */; |
||||||
|
buildPhases = ( |
||||||
|
635697C31B14FC11007A7283 /* Sources */, |
||||||
|
635697C41B14FC11007A7283 /* Frameworks */, |
||||||
|
635697C51B14FC11007A7283 /* CopyFiles */, |
||||||
|
); |
||||||
|
buildRules = ( |
||||||
|
); |
||||||
|
dependencies = ( |
||||||
|
); |
||||||
|
name = Tests; |
||||||
|
productName = Tests; |
||||||
|
productReference = 635697C71B14FC11007A7283 /* libTests.a */; |
||||||
|
productType = "com.apple.product-type.library.static"; |
||||||
|
}; |
||||||
|
/* End PBXNativeTarget section */ |
||||||
|
|
||||||
|
/* Begin PBXProject section */ |
||||||
|
635697BF1B14FC11007A7283 /* Project object */ = { |
||||||
|
isa = PBXProject; |
||||||
|
attributes = { |
||||||
|
LastUpgradeCheck = 0630; |
||||||
|
ORGANIZATIONNAME = gRPC; |
||||||
|
TargetAttributes = { |
||||||
|
63423F431B150A5F006CF63C = { |
||||||
|
CreatedOnToolsVersion = 6.3.1; |
||||||
|
}; |
||||||
|
635697C61B14FC11007A7283 = { |
||||||
|
CreatedOnToolsVersion = 6.3.1; |
||||||
|
}; |
||||||
|
}; |
||||||
|
}; |
||||||
|
buildConfigurationList = 635697C21B14FC11007A7283 /* Build configuration list for PBXProject "Tests" */; |
||||||
|
compatibilityVersion = "Xcode 3.2"; |
||||||
|
developmentRegion = English; |
||||||
|
hasScannedForEncodings = 0; |
||||||
|
knownRegions = ( |
||||||
|
en, |
||||||
|
); |
||||||
|
mainGroup = 635697BE1B14FC11007A7283; |
||||||
|
productRefGroup = 635697C81B14FC11007A7283 /* Products */; |
||||||
|
projectDirPath = ""; |
||||||
|
projectRoot = ""; |
||||||
|
targets = ( |
||||||
|
635697C61B14FC11007A7283 /* Tests */, |
||||||
|
63423F431B150A5F006CF63C /* AllTests */, |
||||||
|
); |
||||||
|
}; |
||||||
|
/* End PBXProject section */ |
||||||
|
|
||||||
|
/* Begin PBXResourcesBuildPhase section */ |
||||||
|
63423F421B150A5F006CF63C /* Resources */ = { |
||||||
|
isa = PBXResourcesBuildPhase; |
||||||
|
buildActionMask = 2147483647; |
||||||
|
files = ( |
||||||
|
); |
||||||
|
runOnlyForDeploymentPostprocessing = 0; |
||||||
|
}; |
||||||
|
/* End PBXResourcesBuildPhase section */ |
||||||
|
|
||||||
|
/* Begin PBXShellScriptBuildPhase section */ |
||||||
|
914ADDD7106BA9BB8A7E569F /* Check Pods Manifest.lock */ = { |
||||||
|
isa = PBXShellScriptBuildPhase; |
||||||
|
buildActionMask = 2147483647; |
||||||
|
files = ( |
||||||
|
); |
||||||
|
inputPaths = ( |
||||||
|
); |
||||||
|
name = "Check Pods Manifest.lock"; |
||||||
|
outputPaths = ( |
||||||
|
); |
||||||
|
runOnlyForDeploymentPostprocessing = 0; |
||||||
|
shellPath = /bin/sh; |
||||||
|
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; |
||||||
|
showEnvVarsInLog = 0; |
||||||
|
}; |
||||||
|
A441F71824DCB9D0CA297748 /* Copy Pods Resources */ = { |
||||||
|
isa = PBXShellScriptBuildPhase; |
||||||
|
buildActionMask = 2147483647; |
||||||
|
files = ( |
||||||
|
); |
||||||
|
inputPaths = ( |
||||||
|
); |
||||||
|
name = "Copy Pods Resources"; |
||||||
|
outputPaths = ( |
||||||
|
); |
||||||
|
runOnlyForDeploymentPostprocessing = 0; |
||||||
|
shellPath = /bin/sh; |
||||||
|
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-resources.sh\"\n"; |
||||||
|
showEnvVarsInLog = 0; |
||||||
|
}; |
||||||
|
/* End PBXShellScriptBuildPhase section */ |
||||||
|
|
||||||
|
/* Begin PBXSourcesBuildPhase section */ |
||||||
|
63423F401B150A5F006CF63C /* Sources */ = { |
||||||
|
isa = PBXSourcesBuildPhase; |
||||||
|
buildActionMask = 2147483647; |
||||||
|
files = ( |
||||||
|
63423F511B151B77006CF63C /* RxLibraryUnitTests.m in Sources */, |
||||||
|
); |
||||||
|
runOnlyForDeploymentPostprocessing = 0; |
||||||
|
}; |
||||||
|
635697C31B14FC11007A7283 /* Sources */ = { |
||||||
|
isa = PBXSourcesBuildPhase; |
||||||
|
buildActionMask = 2147483647; |
||||||
|
files = ( |
||||||
|
635697CD1B14FC11007A7283 /* Tests.m in Sources */, |
||||||
|
); |
||||||
|
runOnlyForDeploymentPostprocessing = 0; |
||||||
|
}; |
||||||
|
/* End PBXSourcesBuildPhase section */ |
||||||
|
|
||||||
|
/* Begin PBXTargetDependency section */ |
||||||
|
63423F4C1B150A5F006CF63C /* PBXTargetDependency */ = { |
||||||
|
isa = PBXTargetDependency; |
||||||
|
target = 635697C61B14FC11007A7283 /* Tests */; |
||||||
|
targetProxy = 63423F4B1B150A5F006CF63C /* PBXContainerItemProxy */; |
||||||
|
}; |
||||||
|
/* End PBXTargetDependency section */ |
||||||
|
|
||||||
|
/* Begin XCBuildConfiguration section */ |
||||||
|
63423F4E1B150A5F006CF63C /* Debug */ = { |
||||||
|
isa = XCBuildConfiguration; |
||||||
|
baseConfigurationReference = FF7B5489BCFE40111D768DD0 /* Pods.debug.xcconfig */; |
||||||
|
buildSettings = { |
||||||
|
FRAMEWORK_SEARCH_PATHS = ( |
||||||
|
"$(SDKROOT)/Developer/Library/Frameworks", |
||||||
|
"$(inherited)", |
||||||
|
); |
||||||
|
GCC_PREPROCESSOR_DEFINITIONS = ( |
||||||
|
"DEBUG=1", |
||||||
|
"$(inherited)", |
||||||
|
); |
||||||
|
INFOPLIST_FILE = Info.plist; |
||||||
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; |
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)"; |
||||||
|
}; |
||||||
|
name = Debug; |
||||||
|
}; |
||||||
|
63423F4F1B150A5F006CF63C /* Release */ = { |
||||||
|
isa = XCBuildConfiguration; |
||||||
|
baseConfigurationReference = 0A4F89D9C90E9C30990218F0 /* Pods.release.xcconfig */; |
||||||
|
buildSettings = { |
||||||
|
FRAMEWORK_SEARCH_PATHS = ( |
||||||
|
"$(SDKROOT)/Developer/Library/Frameworks", |
||||||
|
"$(inherited)", |
||||||
|
); |
||||||
|
INFOPLIST_FILE = Info.plist; |
||||||
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; |
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)"; |
||||||
|
}; |
||||||
|
name = Release; |
||||||
|
}; |
||||||
|
635697D91B14FC11007A7283 /* Debug */ = { |
||||||
|
isa = XCBuildConfiguration; |
||||||
|
buildSettings = { |
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO; |
||||||
|
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_CONSTANT_CONVERSION = YES; |
||||||
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; |
||||||
|
CLANG_WARN_EMPTY_BODY = YES; |
||||||
|
CLANG_WARN_ENUM_CONVERSION = YES; |
||||||
|
CLANG_WARN_INT_CONVERSION = YES; |
||||||
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; |
||||||
|
CLANG_WARN_UNREACHABLE_CODE = YES; |
||||||
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; |
||||||
|
COPY_PHASE_STRIP = NO; |
||||||
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; |
||||||
|
ENABLE_STRICT_OBJC_MSGSEND = YES; |
||||||
|
GCC_C_LANGUAGE_STANDARD = gnu99; |
||||||
|
GCC_DYNAMIC_NO_PIC = NO; |
||||||
|
GCC_NO_COMMON_BLOCKS = YES; |
||||||
|
GCC_OPTIMIZATION_LEVEL = 0; |
||||||
|
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; |
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES; |
||||||
|
IPHONEOS_DEPLOYMENT_TARGET = 8.3; |
||||||
|
MTL_ENABLE_DEBUG_INFO = YES; |
||||||
|
ONLY_ACTIVE_ARCH = YES; |
||||||
|
SDKROOT = iphoneos; |
||||||
|
}; |
||||||
|
name = Debug; |
||||||
|
}; |
||||||
|
635697DA1B14FC11007A7283 /* Release */ = { |
||||||
|
isa = XCBuildConfiguration; |
||||||
|
buildSettings = { |
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO; |
||||||
|
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_CONSTANT_CONVERSION = YES; |
||||||
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; |
||||||
|
CLANG_WARN_EMPTY_BODY = YES; |
||||||
|
CLANG_WARN_ENUM_CONVERSION = YES; |
||||||
|
CLANG_WARN_INT_CONVERSION = YES; |
||||||
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; |
||||||
|
CLANG_WARN_UNREACHABLE_CODE = YES; |
||||||
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; |
||||||
|
COPY_PHASE_STRIP = NO; |
||||||
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; |
||||||
|
ENABLE_NS_ASSERTIONS = NO; |
||||||
|
ENABLE_STRICT_OBJC_MSGSEND = YES; |
||||||
|
GCC_C_LANGUAGE_STANDARD = gnu99; |
||||||
|
GCC_NO_COMMON_BLOCKS = YES; |
||||||
|
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; |
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES; |
||||||
|
IPHONEOS_DEPLOYMENT_TARGET = 8.3; |
||||||
|
MTL_ENABLE_DEBUG_INFO = NO; |
||||||
|
SDKROOT = iphoneos; |
||||||
|
VALIDATE_PRODUCT = YES; |
||||||
|
}; |
||||||
|
name = Release; |
||||||
|
}; |
||||||
|
635697DC1B14FC11007A7283 /* Debug */ = { |
||||||
|
isa = XCBuildConfiguration; |
||||||
|
buildSettings = { |
||||||
|
OTHER_LDFLAGS = "-ObjC"; |
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)"; |
||||||
|
SKIP_INSTALL = YES; |
||||||
|
}; |
||||||
|
name = Debug; |
||||||
|
}; |
||||||
|
635697DD1B14FC11007A7283 /* Release */ = { |
||||||
|
isa = XCBuildConfiguration; |
||||||
|
buildSettings = { |
||||||
|
OTHER_LDFLAGS = "-ObjC"; |
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)"; |
||||||
|
SKIP_INSTALL = YES; |
||||||
|
}; |
||||||
|
name = Release; |
||||||
|
}; |
||||||
|
/* End XCBuildConfiguration section */ |
||||||
|
|
||||||
|
/* Begin XCConfigurationList section */ |
||||||
|
63423F4D1B150A5F006CF63C /* Build configuration list for PBXNativeTarget "AllTests" */ = { |
||||||
|
isa = XCConfigurationList; |
||||||
|
buildConfigurations = ( |
||||||
|
63423F4E1B150A5F006CF63C /* Debug */, |
||||||
|
63423F4F1B150A5F006CF63C /* Release */, |
||||||
|
); |
||||||
|
defaultConfigurationIsVisible = 0; |
||||||
|
defaultConfigurationName = Release; |
||||||
|
}; |
||||||
|
635697C21B14FC11007A7283 /* Build configuration list for PBXProject "Tests" */ = { |
||||||
|
isa = XCConfigurationList; |
||||||
|
buildConfigurations = ( |
||||||
|
635697D91B14FC11007A7283 /* Debug */, |
||||||
|
635697DA1B14FC11007A7283 /* Release */, |
||||||
|
); |
||||||
|
defaultConfigurationIsVisible = 0; |
||||||
|
defaultConfigurationName = Release; |
||||||
|
}; |
||||||
|
635697DB1B14FC11007A7283 /* Build configuration list for PBXNativeTarget "Tests" */ = { |
||||||
|
isa = XCConfigurationList; |
||||||
|
buildConfigurations = ( |
||||||
|
635697DC1B14FC11007A7283 /* Debug */, |
||||||
|
635697DD1B14FC11007A7283 /* Release */, |
||||||
|
); |
||||||
|
defaultConfigurationIsVisible = 0; |
||||||
|
defaultConfigurationName = Release; |
||||||
|
}; |
||||||
|
/* End XCConfigurationList section */ |
||||||
|
}; |
||||||
|
rootObject = 635697BF1B14FC11007A7283 /* Project object */; |
||||||
|
} |
@ -0,0 +1,7 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<Workspace |
||||||
|
version = "1.0"> |
||||||
|
<FileRef |
||||||
|
location = "self:Tests.xcodeproj"> |
||||||
|
</FileRef> |
||||||
|
</Workspace> |
Loading…
Reference in new issue