Adding CI.

This commit is contained in:
Krunoslav Zaher 2015-08-02 12:00:39 +02:00
parent ff5e6a3ed5
commit 1eccea65f8
23 changed files with 707 additions and 242 deletions

10
.travis.yml Normal file
View File

@ -0,0 +1,10 @@
language: objective-c
osx_image: xcode6.4
xcode_sdk: iphonesimulator8.4
notifications:
email: false
script: ./scripts/pre-release-tests.sh

View File

@ -1,4 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<playground version='5.0' target-platform='osx' requires-full-environment='true' display-mode='rendered'>
<timeline fileName='timeline.xctimeline'/>
</playground>
<playground version='5.0' target-platform='osx' requires-full-environment='true' display-mode='rendered'/>

View File

@ -171,7 +171,6 @@
C8297F511B6CF94B000589EA /* SchedulerServices+Emulation.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8297EE01B6CF94B000589EA /* SchedulerServices+Emulation.swift */; };
C8297F521B6CF94B000589EA /* SerialDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8297EE11B6CF94B000589EA /* SerialDispatchQueueScheduler.swift */; };
C8297F531B6CF94B000589EA /* DispatchQueueSchedulerPriority.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8297EE21B6CF94B000589EA /* DispatchQueueSchedulerPriority.swift */; };
C8297F541B6CF94B000589EA /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = C8297EE41B6CF94B000589EA /* Info.plist */; };
C8297FA21B6CF953000589EA /* RxCLLocationManagerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8297F551B6CF953000589EA /* RxCLLocationManagerDelegateProxy.swift */; };
C8297FA31B6CF953000589EA /* ControlTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8297F571B6CF953000589EA /* ControlTarget.swift */; };
C8297FA41B6CF953000589EA /* Deallocating.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8297F581B6CF953000589EA /* Deallocating.swift */; };
@ -226,7 +225,6 @@
C8297FDA1B6CF953000589EA /* UIAlertView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8297F9A1B6CF953000589EA /* UIAlertView+Rx.swift */; };
C8297FDB1B6CF953000589EA /* UISegmentedControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8297F9B1B6CF953000589EA /* UISegmentedControl+Rx.swift */; };
C8297FDC1B6CF953000589EA /* UISwitch+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8297F9C1B6CF953000589EA /* UISwitch+Rx.swift */; };
C8297FDD1B6CF953000589EA /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = C8297F9F1B6CF953000589EA /* Info.plist */; };
C83367231AD029AE00C668A7 /* Example.swift in Sources */ = {isa = PBXBuildFile; fileRef = C833670F1AD029AE00C668A7 /* Example.swift */; };
C83367241AD029AE00C668A7 /* HtmlParsing.swift in Sources */ = {isa = PBXBuildFile; fileRef = C83367111AD029AE00C668A7 /* HtmlParsing.swift */; };
C83367251AD029AE00C668A7 /* ImageService.swift in Sources */ = {isa = PBXBuildFile; fileRef = C83367121AD029AE00C668A7 /* ImageService.swift */; };
@ -460,7 +458,7 @@
C8297F5D1B6CF953000589EA /* NSObject+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = "NSObject+Rx.swift"; sourceTree = "<group>"; };
C8297F5E1B6CF953000589EA /* NSObject+Rx+CoreGraphics.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = "NSObject+Rx+CoreGraphics.swift"; sourceTree = "<group>"; };
C8297F5F1B6CF953000589EA /* NSNotificationCenter+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = "NSNotificationCenter+Rx.swift"; sourceTree = "<group>"; };
C8297F601B6CF953000589EA /* NSURLSession+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = "NSURLSession+Rx.swift"; sourceTree = "<group>"; };
C8297F601B6CF953000589EA /* NSURLSession+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = "NSURLSession+Rx.swift"; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.swift; };
C8297F621B6CF953000589EA /* CLLocationManager+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = "CLLocationManager+Rx.swift"; sourceTree = "<group>"; };
C8297F631B6CF953000589EA /* DelegateProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = DelegateProxy.swift; sourceTree = "<group>"; };
C8297F641B6CF953000589EA /* DelegateProxyType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = DelegateProxyType.swift; sourceTree = "<group>"; };
@ -511,7 +509,7 @@
C8297F9C1B6CF953000589EA /* UISwitch+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = "UISwitch+Rx.swift"; sourceTree = "<group>"; };
C8297F9E1B6CF953000589EA /* RxCocoa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RxCocoa.h; sourceTree = "<group>"; };
C8297F9F1B6CF953000589EA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
C83366DD1AD0293800C668A7 /* RxExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RxExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
C83366DD1AD0293800C668A7 /* RxExample-iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "RxExample-iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
C833670F1AD029AE00C668A7 /* Example.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Example.swift; sourceTree = "<group>"; };
C83367111AD029AE00C668A7 /* HtmlParsing.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HtmlParsing.swift; sourceTree = "<group>"; };
C83367121AD029AE00C668A7 /* ImageService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageService.swift; sourceTree = "<group>"; };
@ -1003,7 +1001,7 @@
C83366DE1AD0293800C668A7 /* Products */ = {
isa = PBXGroup;
children = (
C83366DD1AD0293800C668A7 /* RxExample.app */,
C83366DD1AD0293800C668A7 /* RxExample-iOS.app */,
C88BB8DC1B07E6C90064D411 /* RxExample.app */,
C8297E691B6CF905000589EA /* RxExample-iOS-no-module.app */,
);
@ -1226,7 +1224,7 @@
);
name = "RxExample-iOS";
productName = RxExample;
productReference = C83366DD1AD0293800C668A7 /* RxExample.app */;
productReference = C83366DD1AD0293800C668A7 /* RxExample-iOS.app */;
productType = "com.apple.product-type.application";
};
C88BB8B91B07E6C90064D411 /* RxExample-OSX */ = {
@ -1287,9 +1285,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
C8297F541B6CF94B000589EA /* Info.plist in Resources */,
C8297E5D1B6CF905000589EA /* WikipediaSearchCell.xib in Resources */,
C8297FDD1B6CF953000589EA /* Info.plist in Resources */,
C8297E5E1B6CF905000589EA /* LaunchScreen.xib in Resources */,
C8297F181B6CF94B000589EA /* CombineLatest+arity.tt in Resources */,
C8297E5F1B6CF905000589EA /* WikipediaImageCell.xib in Resources */,
@ -1743,6 +1739,7 @@
IPHONEOS_DEPLOYMENT_TARGET = 8.1;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_LDFLAGS = "-objc_loadall";
PRODUCT_NAME = "RxExample-iOS";
SDKROOT = iphoneos;
};
name = Debug;
@ -1754,6 +1751,7 @@
IPHONEOS_DEPLOYMENT_TARGET = 8.1;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_LDFLAGS = "-objc_loadall";
PRODUCT_NAME = "RxExample-iOS";
SDKROOT = iphoneos;
};
name = Release;
@ -1829,6 +1827,7 @@
IPHONEOS_DEPLOYMENT_TARGET = 8.1;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_LDFLAGS = "-objc_loadall";
PRODUCT_NAME = "RxExample-iOS";
SDKROOT = iphoneos;
};
name = "Release-Tests";

View File

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0640"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C88BB8B91B07E6C90064D411"
BuildableName = "RxExample.app"
BlueprintName = "RxExample-OSX"
ReferencedContainer = "container:RxExample.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C88BB8B91B07E6C90064D411"
BuildableName = "RxExample.app"
BlueprintName = "RxExample-OSX"
ReferencedContainer = "container:RxExample.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C88BB8B91B07E6C90064D411"
BuildableName = "RxExample.app"
BlueprintName = "RxExample-OSX"
ReferencedContainer = "container:RxExample.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C88BB8B91B07E6C90064D411"
BuildableName = "RxExample.app"
BlueprintName = "RxExample-OSX"
ReferencedContainer = "container:RxExample.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0640"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C8297E2D1B6CF905000589EA"
BuildableName = "RxExample-iOS-no-module.app"
BlueprintName = "RxExample-iOS-no-module"
ReferencedContainer = "container:RxExample.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C8297E2D1B6CF905000589EA"
BuildableName = "RxExample-iOS-no-module.app"
BlueprintName = "RxExample-iOS-no-module"
ReferencedContainer = "container:RxExample.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C8297E2D1B6CF905000589EA"
BuildableName = "RxExample-iOS-no-module.app"
BlueprintName = "RxExample-iOS-no-module"
ReferencedContainer = "container:RxExample.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C8297E2D1B6CF905000589EA"
BuildableName = "RxExample-iOS-no-module.app"
BlueprintName = "RxExample-iOS-no-module"
ReferencedContainer = "container:RxExample.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -0,0 +1,96 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0640"
version = "1.8">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C83366DC1AD0293800C668A7"
BuildableName = "RxExample-iOS.app"
BlueprintName = "RxExample-iOS"
ReferencedContainer = "container:RxExample.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C83366DC1AD0293800C668A7"
BuildableName = "RxExample-iOS.app"
BlueprintName = "RxExample-iOS"
ReferencedContainer = "container:RxExample.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C83366DC1AD0293800C668A7"
BuildableName = "RxExample-iOS.app"
BlueprintName = "RxExample-iOS"
ReferencedContainer = "container:RxExample.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
<AdditionalOption
key = "NSZombieEnabled"
value = "YES"
isEnabled = "YES">
</AdditionalOption>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C83366DC1AD0293800C668A7"
BuildableName = "RxExample-iOS.app"
BlueprintName = "RxExample-iOS"
ReferencedContainer = "container:RxExample.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -201,7 +201,7 @@ class RecursiveImmediateSchedulerOf<State> : Disposable {
})
}
public func dispose() {
func dispose() {
self.lock.performLocked {
self.action = nil
}

View File

@ -271,12 +271,12 @@ extension ObservableTimeTest {
let start = NSDate()
let a = concat(from([just(0), never()]))
>- throttle(0.5, scheduler)
>- throttle(2, scheduler)
>- first
let end = NSDate()
XCTAssertEqualWithAccuracy(0.5, end.timeIntervalSinceDate(start), 0.15)
XCTAssertEqualWithAccuracy(2, end.timeIntervalSinceDate(start), 0.5)
XCTAssertEqual(a.get()!, 0)
}
}
@ -813,13 +813,13 @@ extension ObservableTimeTest {
let start = NSDate()
let a = interval(0.5, scheduler)
let a = interval(1, scheduler)
>- take(2)
>- toArray
let end = NSDate()
XCTAssertEqualWithAccuracy(1, end.timeIntervalSinceDate(start), 0.15)
XCTAssertEqualWithAccuracy(2, end.timeIntervalSinceDate(start), 0.3)
XCTAssertEqual(a.get(), [0, 1])
}
}

View File

@ -0,0 +1,96 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0640"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "NO"
buildForArchiving = "NO"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C88BB88F1B07E64B0064D411"
BuildableName = "RxTests.xctest"
BlueprintName = "RxTests-OSX"
ReferencedContainer = "container:RxTests.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Release">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C88BB88F1B07E64B0064D411"
BuildableName = "RxTests.xctest"
BlueprintName = "RxTests-OSX"
ReferencedContainer = "container:RxTests.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C88BB88F1B07E64B0064D411"
BuildableName = "RxTests.xctest"
BlueprintName = "RxTests-OSX"
ReferencedContainer = "container:RxTests.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C88BB88F1B07E64B0064D411"
BuildableName = "RxTests.xctest"
BlueprintName = "RxTests-OSX"
ReferencedContainer = "container:RxTests.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C88BB88F1B07E64B0064D411"
BuildableName = "RxTests.xctest"
BlueprintName = "RxTests-OSX"
ReferencedContainer = "container:RxTests.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0640"
version = "1.8">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "NO"
buildForArchiving = "NO"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C811081F1AF50E11001C13E4"
BuildableName = "RxTests.xctest"
BlueprintName = "RxTests-iOS"
ReferencedContainer = "container:RxTests.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C811081F1AF50E11001C13E4"
BuildableName = "RxTests.xctest"
BlueprintName = "RxTests-iOS"
ReferencedContainer = "container:RxTests.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C811081F1AF50E11001C13E4"
BuildableName = "RxTests.xctest"
BlueprintName = "RxTests-iOS"
ReferencedContainer = "container:RxTests.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release-Tests"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C811081F1AF50E11001C13E4"
BuildableName = "RxTests.xctest"
BlueprintName = "RxTests-iOS"
ReferencedContainer = "container:RxTests.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C811081F1AF50E11001C13E4"
BuildableName = "RxTests.xctest"
BlueprintName = "RxTests-iOS"
ReferencedContainer = "container:RxTests.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -1,83 +0,0 @@
#!/bin/bash
set -e
NUM_OF_TESTS=14
CURRENT_DIR="$( dirname "${BASH_SOURCE[0]}" )"
BUILD_DIRECTORY=$TMPDIR/build
APP=RxExample
CONFIGURATIONS="Debug Release-Tests Release"
SIMULATORS="RxSwiftTest-iPhone4s-iOS_8.4 RxSwiftTest-iPhone5-iOS_8.4 RxSwiftTest-iPhone5s-iOS_8.4 RxSwiftTest-iPhone6-iOS_8.4 RxSwiftTest-iPhone6Plus-iOS_8.4 RxSwiftTest-iPhone4s-iOS_8.1 RxSwiftTest-iPhone5-iOS_8.1 RxSwiftTest-iPhone5s-iOS_8.1 RxSwiftTest-iPhone6-iOS_8.1 RxSwiftTest-iPhone6Plus-iOS_8.1"
open $TMPDIR
cd $CURRENT_DIR
. scripts/common.sh
echo "(Rx root ${CURRENT_DIR})"
cd "${CURRENT_DIR}"
CURRENT_DIR=`pwd`
function runAutomation() {
SIMULATOR=$1
CONFIGURATION=$2
echo
echo
echo
echo
printf "${GREEN}Building example for automation ${BOLDCYAN}${SIMULATOR} - ${CONFIGURATION}${RESET}"
echo
OS=`echo $SIMULATOR| cut -d'_' -f 2`
xcodebuild -workspace Rx.xcworkspace -scheme RxExample-iOS -derivedDataPath ${BUILD_DIRECTORY} -configuration ${CONFIGURATION} -destination platform='iOS Simulator',OS="${OS}",name="${SIMULATOR}" build > /dev/null
echo
printf "${GREEN}Quitting iOS Simulator ...${RESET}"
echo
osascript -e 'quit app "iOS Simulator.app"' > /dev/null
echo
printf "${GREEN}Firing up simulator ${BOLDCYAN}${SIMULATOR}${GREEN}...${RESET}\n"
echo
xcrun instruments -w ${SIMULATOR} > /dev/null 2>&1 || echo
echo
printf "${GREEN}Installing the app ...${RESET}\n"
echo
xcrun simctl install ${SIMULATOR} ${BUILD_DIRECTORY}/Build/Products/${CONFIGURATION}-iphonesimulator/${APP}.app
pushd $TMPDIR
rm -rf instrumentscli0.trace || echo
echo
printf "${GREEN}Running instruments ...${RESET}\n"
echo
instruments -w ${SIMULATOR} -t Automation ${APP} -e UIASCRIPT $CURRENT_DIR/automation-tests/main.js > $TMPDIR/output.txt #|| (open instrumentscli0.trace; exit -1;)
COUNT=`grep Pass: $TMPDIR/output.txt | wc -l`
if [ "$COUNT" -lt "$NUM_OF_TESTS" ]; then
echo
printf "${RED}${SIMULATOR} - ${CONFIGURATION} tests do not passes${RESET}"
echo
printf "${RED}Pases ${COUNT} tests of ${NUM_OF_TESTS} ${RESET}"
echo
open ./instrumentscli0.trace;
exit;
fi
popd
}
for simulator in ${SIMULATORS}
do
for configuration in ${CONFIGURATIONS}
do
runAutomation ${simulator} ${configuration}
done
done

View File

@ -1,72 +0,0 @@
test("----- githubSignUp -----", function (check, pass) {
UIATarget.onAlert = function(alert){
UIATarget.localTarget().frontMostApp().alert().buttons()["Cancel"].tap();
UIATarget.localTarget().frontMostApp().navigationBar().leftButton().tap();
pass()
return false;
}
UIATarget.localTarget().frontMostApp().mainWindow().tableViews()[0].cells()[0].tapWithOptions({tapOffset:{x:0.24, y:0.20}});
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].tap();
// UIATarget.localTarget().frontMostApp().keyboard().typeString("rxrevolution"); // fails if software keyboard is disabled
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].setValue("r");
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].setValue("rx");
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].setValue("rxr");
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].setValue("rxre");
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].setValue("rxrev");
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].setValue("rxrevo");
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].setValue("rxrevol");
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].setValue("rxrevolu");
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].setValue("rxrevolut");
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].setValue("rxrevoluti");
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].setValue("rxrevolutio");
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].setValue("rxrevolution");
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[0].tap();
// UIATarget.localTarget().frontMostApp().keyboard().typeString("mypassword"); // fails if software keyboard is disabled
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[0].setValue("m");
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[0].setValue("my");
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[0].setValue("myp");
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[0].setValue("mypa");
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[0].setValue("mypas");
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[0].setValue("mypass");
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[0].setValue("mypassw");
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[0].setValue("mypasswo");
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[0].setValue("mypasswor");
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[0].setValue("mypassword");
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[1].tap();
// UIATarget.localTarget().frontMostApp().keyboard().typeString("mypassword"); // fails if software keyboard is disabled
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[1].setValue("m");
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[1].setValue("my");
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[1].setValue("myp");
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[1].setValue("mypa");
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[1].setValue("mypas");
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[1].setValue("mypass");
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[1].setValue("mypassw");
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[1].setValue("mypasswo");
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[1].setValue("mypasswor");
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[1].setValue("mypassword");
UIATarget.localTarget().tap({x:14.50, y:80.00});
UIATarget.localTarget().frontMostApp().mainWindow().buttons()["Sign up"].tap();
});

View File

@ -1,50 +0,0 @@
test("----- searchWikipedia -----", function (check, pass) {
var width = UIATarget.localTarget().frontMostApp().mainWindow().rect().size.width
UIATarget.localTarget().frontMostApp().mainWindow().tableViews()[0].cells()[1].tap();
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].tap();
// UIATarget.localTarget().frontMostApp().keyboard().typeString("banana"); // fails if software keyboard is disabled
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("b");
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("ba");
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("ban");
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("bana");
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("banan");
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("banana");
UIATarget.localTarget().delay(2);
UIATarget.localTarget().tap({x:width - 40, y:43});
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].tap();
// UIATarget.localTarget().frontMostApp().keyboard().typeString("Yosemite"); // fails if software keyboard is disabled
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("Y");
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("Yo");
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("Yos");
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("Yose");
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("Yosem");
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("Yosemi");
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("Yosemit");
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("Yosemite");
UIATarget.localTarget().delay(2);
UIATarget.localTarget().tap({x:width - 40, y:43});
UIATarget.localTarget().frontMostApp().navigationBar().leftButton().tap();
pass()
});

99
scripts/automation-tests.sh Executable file
View File

@ -0,0 +1,99 @@
#!/bin/bash
set -e
NUM_OF_TESTS=14
CURRENT_DIR="$( dirname "${BASH_SOURCE[0]}" )"
BUILD_DIRECTORY=build
APP=RxExample
CONFIGURATIONS="Debug Release-Tests Release"
#SIMULATORS="RxSwiftTest-iPhone4s-iOS_8.4 RxSwiftTest-iPhone5-iOS_8.4 RxSwiftTest-iPhone5s-iOS_8.4 RxSwiftTest-iPhone6-iOS_8.4 RxSwiftTest-iPhone6Plus-iOS_8.4 RxSwiftTest-iPhone4s-iOS_8.1 RxSwiftTest-iPhone5-iOS_8.1 RxSwiftTest-iPhone5s-iOS_8.1 RxSwiftTest-iPhone6-iOS_8.1 RxSwiftTest-iPhone6Plus-iOS_8.1"
IOS7_SIMULATORS="RxSwiftTest-iPhone4s-iOS_7.1 RxSwiftTest-iPhone5-iOS_7.1 RxSwiftTest-iPhone5s-iOS_7.1"
IOS8_SIMULATORS="RxSwiftTest-iPhone4s-iOS_8.4 RxSwiftTest-iPhone5-iOS_8.4 RxSwiftTest-iPhone5s-iOS_8.4 RxSwiftTest-iPhone6-iOS_8.4 RxSwiftTest-iPhone6Plus-iOS_8.4"
#open $TMPDIR
. scripts/common.sh
cd "${CURRENT_DIR}/.."
ROOT=`pwd`
BUILD_DIRECTORY="${ROOT}/build"
function runAutomation() {
SIMULATOR=$1
CONFIGURATION=$2
SCHEME=$3
APP="${SCHEME}"
echo
echo
echo
echo
printf "${GREEN}Building example for automation ${BOLDCYAN}${SIMULATOR} - ${CONFIGURATION}${RESET}"
echo
OS=`echo $SIMULATOR| cut -d'_' -f 2`
xcodebuild -workspace Rx.xcworkspace -scheme ${SCHEME} -derivedDataPath ${BUILD_DIRECTORY} -configuration ${CONFIGURATION} -destination platform='iOS Simulator',OS="${OS}",name="${SIMULATOR}" build | xcpretty -c
echo
printf "${GREEN}Quitting iOS Simulator ...${RESET}"
echo
osascript -e 'quit app "iOS Simulator.app"' > /dev/null
echo
printf "${GREEN}Firing up simulator ${BOLDCYAN}${SIMULATOR}${GREEN}...${RESET}\n"
echo
xcrun instruments -w ${SIMULATOR} > /dev/null 2>&1 || echo
echo
APP_PATH="${BUILD_DIRECTORY}/Build/Products/${CONFIGURATION}-iphonesimulator/${APP}.app"
printf "${GREEN}Installing the app ${BOLDCYAN}'${APP_PATH}'${GREEN} ...${RESET}\n"
echo
xcrun simctl install ${SIMULATOR} "${APP_PATH}"
pushd $TMPDIR
rm -rf instrumentscli0.trace || echo
echo
printf "${GREEN}Running instruments ${BOLDCYAN}'${APP}'${GREEN}...${RESET}\n"
echo
OUTPUT="${TMPDIR}/output.txt"
instruments -w ${SIMULATOR} -t Automation "${APP_PATH}" -e UIASCRIPT "${ROOT}/scripts/automation-tests/main.js" | tee "${OUTPUT}" #| grep "Pass" #|| (open instrumentscli0.trace; exit -1;)
COUNT=`grep Pass: "$TMPDIR/output.txt" | wc -l`
if [ "$COUNT" -lt "$NUM_OF_TESTS" ]; then
echo
printf "${RED}${SIMULATOR} - ${CONFIGURATION} tests do not pass${RESET}"
echo
cat "${OUTPUT}"
echo
printf "${RED}Only ${COUNT} of ${NUM_OF_TESTS} pass ${RESET}"
echo
open ./instrumentscli0.trace;
exit -1;
fi
popd
}
# ios 7
for simulator in ${IOS7_SIMULATORS}
do
for configuration in ${CONFIGURATIONS}
do
runAutomation ${simulator} ${configuration} "RxExample-iOS-no-module"
done
done
# ios 8
for simulator in ${IOS8_SIMULATORS}
do
for configuration in ${CONFIGURATIONS}
do
runAutomation ${simulator} ${configuration} "RxExample-iOS"
done
done

View File

@ -0,0 +1,40 @@
test("----- githubSignUp -----", function (check, pass) {
UIATarget.onAlert = function(alert){
UIATarget.localTarget().frontMostApp().alert().buttons()["Cancel"].tap();
UIATarget.localTarget().frontMostApp().navigationBar().leftButton().tap();
pass()
return false;
}
UIATarget.localTarget().frontMostApp().mainWindow().tableViews()[0].cells()[0].tapWithOptions({tapOffset:{x:0.24, y:0.20}});
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].tap();
writeInElement(UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0], "rxrevolution")
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[0].tap();
writeInElement(UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[0], "mypassword")
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[1].tap();
writeInElement(UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[1], "mypassword")
UIATarget.localTarget().tap({x:14.50, y:80.00});
UIATarget.localTarget().frontMostApp().mainWindow().buttons()["Sign up"].tap();
});

View File

@ -0,0 +1,36 @@
test("----- searchWikipedia -----", function (check, pass) {
var width = UIATarget.localTarget().frontMostApp().mainWindow().rect().size.width
UIATarget.localTarget().frontMostApp().mainWindow().tableViews()[0].cells()[1].tap();
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].tap();
writeInElement(UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0], "banana")
UIATarget.localTarget().delay(2);
UIATarget.localTarget().tap({x:width - 40, y:43});
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].tap();
writeInElement(UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0], "Yosemite")
UIATarget.localTarget().delay(2);
UIATarget.localTarget().tap({x:width - 40, y:43});
UIATarget.localTarget().frontMostApp().navigationBar().leftButton().tap();
pass()
});

View File

@ -47,5 +47,11 @@ function sleep(time) {
UIATarget.localTarget().delay(time);
}
function writeInElement(element, text) {
var char
for (var i = 1; i < text.length + 1; i++) {
element.setValue(text.substring(0, i));
}
}

View File

@ -1,17 +1,6 @@
#!/bin/bash
set -e
CLEAN=""
if [ "$#" -eq 1 ]; then
echo "Not cleaning up"
CLEAN=" clean "
else
echo "Cleaning up first"
fi
echo "CLEAN=${CLEAN}"
RESET="\033[0m"
BLACK="\033[30m"
RED="\033[31m"
@ -38,7 +27,8 @@ function runTests() {
echo
printf "${GREEN}Running tests for ${BOLDCYAN}$1 - $2${RESET}\n"
echo
xcodebuild -workspace Rx.xcworkspace -scheme "$1" -configuration "$2" -derivedDataPath ${BUILD_DIRECTORY} ${CLEAN} test > /dev/null
xcodebuild -workspace Rx.xcworkspace -scheme "$1" -configuration "$2" -derivedDataPath ${BUILD_DIRECTORY} test | xcpretty -c
#if [[ $scheme == *"iOS"* ]]
#then
@ -52,7 +42,7 @@ function buildExample() {
printf "${GREEN}Building example for ${BOLDCYAN}$1 - $2${RESET}\n"
echo
xcodebuild -workspace Rx.xcworkspace -scheme "$1" -configuration "$2" ${CLEAN} build > /dev/null
xcodebuild -workspace Rx.xcworkspace -scheme "$1" -configuration "$2" build | xcpretty -c
}
# simulators
@ -60,14 +50,31 @@ function buildExample() {
# xcrun simctl list devicetypes
# xcrun simctl list runtimes
#IOS7_SIMULATORS="RxSwiftTest-iPhone4s-iOS_7.1 RxSwiftTest-iPhone5-iOS_7.1 RxSwiftTest-iPhone5s-iOS_7.1"
#IOS8_SIMULATORS="RxSwiftTest-iPhone4s-iOS_8.4 RxSwiftTest-iPhone5-iOS_8.4 RxSwiftTest-iPhone5s-iOS_8.4 RxSwiftTest-iPhone6-iOS_8.4 RxSwiftTest-iPhone6Plus-iOS_8.4"
function createDevices() {
xcrun simctl create RxSwiftTest-iPhone5s-iOS7.1 'iPhone 5s' 'com.apple.CoreSimulator.SimRuntime.iOS-7-1'
xcrun simctl create RxSwiftTest-iPhone5-iOS7.1 'iPhone 5' 'com.apple.CoreSimulator.SimRuntime.iOS-7-1'
xcrun simctl create RxSwiftTest-iPhone6-iOS8.4 'iPhone 6' 'com.apple.CoreSimulator.SimRuntime.iOS-8-4'
xcrun simctl create RxSwiftTest-iPhone4s-iOS_7.1 'iPhone 4s' 'com.apple.CoreSimulator.SimRuntime.iOS-7-1'
xcrun simctl create RxSwiftTest-iPhone5-iOS_7.1 'iPhone 5' 'com.apple.CoreSimulator.SimRuntime.iOS-7-1'
xcrun simctl create RxSwiftTest-iPhone5s-iOS_7.1 'iPhone 5s' 'com.apple.CoreSimulator.SimRuntime.iOS-7-1'
xcrun simctl create RxSwiftTest-iPhone4s-iOS_8.4 'iPhone 4s' 'com.apple.CoreSimulator.SimRuntime.iOS-8-4'
xcrun simctl create RxSwiftTest-iPhone5-iOS_8.4 'iPhone 5' 'com.apple.CoreSimulator.SimRuntime.iOS-8-4'
xcrun simctl create RxSwiftTest-iPhone5s-iOS_8.4 'iPhone 5s' 'com.apple.CoreSimulator.SimRuntime.iOS-8-4'
xcrun simctl create RxSwiftTest-iPhone6-iOS_8.4 'iPhone 6' 'com.apple.CoreSimulator.SimRuntime.iOS-8-4'
xcrun simctl create RxSwiftTest-iPhone6Plus-iOS_8.4 'iPhone 6 Plus' 'com.apple.CoreSimulator.SimRuntime.iOS-8-4'
}
function deleteDevices() {
xcrun simctl delete RxSwiftTest-iPhone5s-iOS7.1
xcrun simctl delete RxSwiftTest-iPhone5-iOS7.1
xcrun simctl delete RxSwiftTest-iPhone6-iOS8.4
xcrun simctl delete RxSwiftTest-iPhone4s-iOS_7.1
xcrun simctl delete RxSwiftTest-iPhone5-iOS_7.1
xcrun simctl delete RxSwiftTest-iPhone5s-iOS_7.1
xcrun simctl delete RxSwiftTest-iPhone4s-iOS_8.4
xcrun simctl delete RxSwiftTest-iPhone5-iOS_8.4
xcrun simctl delete RxSwiftTest-iPhone5s-iOS_8.4
xcrun simctl delete RxSwiftTest-iPhone6-iOS_8.4
xcrun simctl delete RxSwiftTest-iPhone6Plus-iOS_8.4
}

View File

@ -1,5 +1,11 @@
. scripts/common.sh
IS_LOCAL=0
if [ "$#" -eq 1 ]; then
echo "Local test"
IS_LOCAL=1
fi
#runTests "RxTests-iOS" "Release-Tests"
#make sure all unit tests pass
@ -13,7 +19,7 @@ done
# make sure it all build
for scheme in "RxExample-iOS" "RxExample-OSX"
for scheme in "RxExample-iOS" "RxExample-iOS-no-module" "RxExample-OSX"
do
for configuration in "Debug" "Release-Tests" "Release"
do
@ -21,4 +27,6 @@ do
done
done
./automation-tests.sh
if [ "${IS_LOCAL}" -eq 1 ]; then
. scripts/automation-tests.sh
fi