diff --git a/.gitignore b/.gitignore index 76dee69..7dcd68e 100644 --- a/.gitignore +++ b/.gitignore @@ -37,6 +37,7 @@ playground.xcworkspace # Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. Packages/ .build/ +Package.pins # CocoaPods # @@ -44,7 +45,7 @@ Packages/ # you should judge for yourself, the pros and cons are mentioned at: # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control # -# Pods/ +Pods/ # Carthage # diff --git a/Package.swift b/Package.swift index a111f26..194c55d 100644 --- a/Package.swift +++ b/Package.swift @@ -18,10 +18,8 @@ import PackageDescription let package = Package( name: "RunLoop", - targets: [Target(name: "RunLoop")], dependencies: [ .Package(url: "https://github.com/crossroadlabs/Boilerplate.git", majorVersion: 1, minor: 1) //.Package(url: "https://github.com/reactive-swift/UV.git", majorVersion: 0, minor: 2) - ], - exclude: ["Carthage"] + ] ) diff --git a/RunLoop.xcodeproj/project.pbxproj b/RunLoop.xcodeproj/project.pbxproj index db2d9de..424b156 100644 --- a/RunLoop.xcodeproj/project.pbxproj +++ b/RunLoop.xcodeproj/project.pbxproj @@ -149,6 +149,7 @@ 658C31711C8DE57A009CCC7A /* Semaphore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Semaphore.swift; sourceTree = ""; }; 922485531CA1B05000618C00 /* EquatableTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EquatableTests.swift; sourceTree = ""; }; 9237002A1CA076F8000042BA /* SemaphoreTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SemaphoreTests.swift; sourceTree = ""; }; + 9250E0151E91218800A9F4ED /* Package.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Package.swift; sourceTree = ""; }; 92A9EFF01CA069EE00A62F33 /* StressTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StressTests.swift; sourceTree = ""; }; 92E409601CBD004A001ED069 /* RunLoop.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RunLoop.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 92E409691CBD004A001ED069 /* RunLoopTests-iOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "RunLoopTests-iOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -156,14 +157,10 @@ 92E409901CBD0182001ED069 /* RunLoopTests-tvOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "RunLoopTests-tvOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 92E409AF1CBD0243001ED069 /* RunLoop.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RunLoop.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 92E409C11CBD03C2001ED069 /* Boilerplate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Boilerplate.framework; sourceTree = ""; }; - 92E409C21CBD03C2001ED069 /* Foundation3.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Foundation3.framework; sourceTree = ""; }; 92E409C31CBD03C2001ED069 /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Result.framework; sourceTree = ""; }; - 92E409C41CBD03C2001ED069 /* XCTest3.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = XCTest3.framework; sourceTree = ""; }; 92E409DB1CBD0427001ED069 /* Boilerplate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Boilerplate.framework; sourceTree = ""; }; - 92E409DC1CBD0427001ED069 /* Foundation3.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Foundation3.framework; sourceTree = ""; }; 92E409DD1CBD0427001ED069 /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Result.framework; sourceTree = ""; }; 92E409E81CBD0455001ED069 /* Boilerplate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Boilerplate.framework; sourceTree = ""; }; - 92E409E91CBD0455001ED069 /* Foundation3.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Foundation3.framework; sourceTree = ""; }; 92E409EA1CBD0455001ED069 /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Result.framework; sourceTree = ""; }; /* End PBXFileReference section */ @@ -240,8 +237,9 @@ 658C312A1C8DA70D009CCC7A = { isa = PBXGroup; children = ( - 658C31361C8DA70D009CCC7A /* RunLoop */, - 658C31421C8DA70D009CCC7A /* RunLoopTests */, + 9250E0151E91218800A9F4ED /* Package.swift */, + 9250E0131E91214B00A9F4ED /* Sources */, + 9250E0141E91215300A9F4ED /* Tests */, 658C31521C8DACCB009CCC7A /* Frameworks */, 658C31351C8DA70D009CCC7A /* Products */, ); @@ -285,8 +283,7 @@ 9237002A1CA076F8000042BA /* SemaphoreTests.swift */, 922485531CA1B05000618C00 /* EquatableTests.swift */, ); - name = RunLoopTests; - path = Tests/RunLoopTests; + path = RunLoopTests; sourceTree = ""; }; 658C31521C8DACCB009CCC7A /* Frameworks */ = { @@ -310,13 +307,27 @@ path = Mac; sourceTree = ""; }; + 9250E0131E91214B00A9F4ED /* Sources */ = { + isa = PBXGroup; + children = ( + 658C31361C8DA70D009CCC7A /* RunLoop */, + ); + path = Sources; + sourceTree = ""; + }; + 9250E0141E91215300A9F4ED /* Tests */ = { + isa = PBXGroup; + children = ( + 658C31421C8DA70D009CCC7A /* RunLoopTests */, + ); + path = Tests; + sourceTree = ""; + }; 92E409BE1CBD0382001ED069 /* iOS */ = { isa = PBXGroup; children = ( 92E409C11CBD03C2001ED069 /* Boilerplate.framework */, - 92E409C21CBD03C2001ED069 /* Foundation3.framework */, 92E409C31CBD03C2001ED069 /* Result.framework */, - 92E409C41CBD03C2001ED069 /* XCTest3.framework */, ); path = iOS; sourceTree = ""; @@ -325,7 +336,6 @@ isa = PBXGroup; children = ( 92E409DB1CBD0427001ED069 /* Boilerplate.framework */, - 92E409DC1CBD0427001ED069 /* Foundation3.framework */, 92E409DD1CBD0427001ED069 /* Result.framework */, ); path = tvOS; @@ -335,7 +345,6 @@ isa = PBXGroup; children = ( 92E409E81CBD0455001ED069 /* Boilerplate.framework */, - 92E409E91CBD0455001ED069 /* Foundation3.framework */, 92E409EA1CBD0455001ED069 /* Result.framework */, ); path = watchOS; @@ -833,7 +842,7 @@ "$(PROJECT_DIR)/Carthage/Build/iOS", ); FRAMEWORK_VERSION = A; - INFOPLIST_FILE = RunLoop/Info.plist; + INFOPLIST_FILE = Sources/RunLoop/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = xyz.crossroadlabs.RunLoop; @@ -859,7 +868,7 @@ "$(PROJECT_DIR)/Carthage/Build/iOS", ); FRAMEWORK_VERSION = A; - INFOPLIST_FILE = RunLoop/Info.plist; + INFOPLIST_FILE = Sources/RunLoop/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = xyz.crossroadlabs.RunLoop; @@ -911,11 +920,10 @@ "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", ); - INFOPLIST_FILE = RunLoop/Info.plist; + INFOPLIST_FILE = Sources/RunLoop/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - OTHER_SWIFT_FLAGS = "-Dnouv"; PRODUCT_BUNDLE_IDENTIFIER = xyz.crossroadlabs.RunLoop; PRODUCT_NAME = "$(PROJECT_NAME)"; SDKROOT = iphoneos; @@ -937,11 +945,10 @@ "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", ); - INFOPLIST_FILE = RunLoop/Info.plist; + INFOPLIST_FILE = Sources/RunLoop/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - OTHER_SWIFT_FLAGS = "-Dnouv"; PRODUCT_BUNDLE_IDENTIFIER = xyz.crossroadlabs.RunLoop; PRODUCT_NAME = "$(PROJECT_NAME)"; SDKROOT = iphoneos; @@ -1003,10 +1010,9 @@ "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/tvOS", ); - INFOPLIST_FILE = RunLoop/Info.plist; + INFOPLIST_FILE = Sources/RunLoop/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - OTHER_SWIFT_FLAGS = "-Dnouv"; PRODUCT_BUNDLE_IDENTIFIER = xyz.crossroadlabs.RunLoop; PRODUCT_NAME = "$(PROJECT_NAME)"; SDKROOT = appletvos; @@ -1029,10 +1035,9 @@ "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/tvOS", ); - INFOPLIST_FILE = RunLoop/Info.plist; + INFOPLIST_FILE = Sources/RunLoop/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - OTHER_SWIFT_FLAGS = "-Dnouv"; PRODUCT_BUNDLE_IDENTIFIER = xyz.crossroadlabs.RunLoop; PRODUCT_NAME = "$(PROJECT_NAME)"; SDKROOT = appletvos; @@ -1094,10 +1099,9 @@ "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/watchOS", ); - INFOPLIST_FILE = RunLoop/Info.plist; + INFOPLIST_FILE = Sources/RunLoop/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - OTHER_SWIFT_FLAGS = "-Dnouv"; PRODUCT_BUNDLE_IDENTIFIER = xyz.crossroadlabs.RunLoop; PRODUCT_NAME = "$(PROJECT_NAME)"; SDKROOT = watchos; @@ -1121,10 +1125,9 @@ "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/watchOS", ); - INFOPLIST_FILE = RunLoop/Info.plist; + INFOPLIST_FILE = Sources/RunLoop/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - OTHER_SWIFT_FLAGS = "-Dnouv"; PRODUCT_BUNDLE_IDENTIFIER = xyz.crossroadlabs.RunLoop; PRODUCT_NAME = "$(PROJECT_NAME)"; SDKROOT = watchos; diff --git a/RunLoop/CurrentRunLoop.swift b/Sources/RunLoop/CurrentRunLoop.swift similarity index 100% rename from RunLoop/CurrentRunLoop.swift rename to Sources/RunLoop/CurrentRunLoop.swift diff --git a/RunLoop/DispatchRunLoop.swift b/Sources/RunLoop/DispatchRunLoop.swift similarity index 100% rename from RunLoop/DispatchRunLoop.swift rename to Sources/RunLoop/DispatchRunLoop.swift diff --git a/RunLoop/Info.plist b/Sources/RunLoop/Info.plist similarity index 100% rename from RunLoop/Info.plist rename to Sources/RunLoop/Info.plist diff --git a/RunLoop/Relay.swift b/Sources/RunLoop/Relay.swift similarity index 100% rename from RunLoop/Relay.swift rename to Sources/RunLoop/Relay.swift diff --git a/RunLoop/RunLoop.swift b/Sources/RunLoop/RunLoop.swift similarity index 100% rename from RunLoop/RunLoop.swift rename to Sources/RunLoop/RunLoop.swift diff --git a/RunLoop/Semaphore.swift b/Sources/RunLoop/Semaphore.swift similarity index 100% rename from RunLoop/Semaphore.swift rename to Sources/RunLoop/Semaphore.swift diff --git a/RunLoop/Sync.swift b/Sources/RunLoop/Sync.swift similarity index 100% rename from RunLoop/Sync.swift rename to Sources/RunLoop/Sync.swift diff --git a/RunLoop/UVRunLoop.swift b/Sources/RunLoop/UVRunLoop.swift similarity index 100% rename from RunLoop/UVRunLoop.swift rename to Sources/RunLoop/UVRunLoop.swift diff --git a/Tests/LinuxMain.swift b/Tests/LinuxMain.swift index 5a1265c..72e9a31 100644 --- a/Tests/LinuxMain.swift +++ b/Tests/LinuxMain.swift @@ -1,26 +1,9 @@ -//===--- LinuxMain.swift -------------------------------------------------===// -//Copyright (c) 2016 Daniel Leping (dileping) -// -//Licensed under the Apache License, Version 2.0 (the "License"); -//you may not use this file except in compliance with the License. -//You may obtain a copy of the License at -// -//http://www.apache.org/licenses/LICENSE-2.0 -// -//Unless required by applicable law or agreed to in writing, software -//distributed under the License is distributed on an "AS IS" BASIS, -//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -//See the License for the specific language governing permissions and -//limitations under the License. -//===----------------------------------------------------------------------===// - import XCTest -@testable import RunLoopTests +import RunLoopTests + +var tests = [XCTestCaseEntry]() + +tests += RunLoopTests.allTests() -XCTMain([ - testCase(EquatableTests.allTests), - testCase(RunLoopTests.allTests), - testCase(SemaphoreTests.allTests), - testCase(StressTests.allTests), -]) +XCTMain(tests) diff --git a/Tests/RunLoopTests/StressTests.swift b/Tests/RunLoopTests/StressTests.swift index a122b97..cb2055b 100644 --- a/Tests/RunLoopTests/StressTests.swift +++ b/Tests/RunLoopTests/StressTests.swift @@ -29,7 +29,6 @@ func threadWithRunLoop(type: RL.Type) -> (thread:Boilerplat return (thread, loop!) } -#if !os(tvOS) class StressTests: XCTestCase { let threadCount = 100 let taskCount = 1000 @@ -107,7 +106,6 @@ class StressTests: XCTestCase { } #endif //!nodispatch } -#endif //!os(tvOS) #if os(Linux) extension StressTests { diff --git a/Tests/RunLoopTests/XCTestManifests.swift b/Tests/RunLoopTests/XCTestManifests.swift new file mode 100644 index 0000000..a2a19aa --- /dev/null +++ b/Tests/RunLoopTests/XCTestManifests.swift @@ -0,0 +1,12 @@ +import XCTest + +#if os(Linux) +public func allTests() -> [XCTestCaseEntry] { + return [ + testCase(EquatableTests.allTests), + testCase(RunLoopTests.allTests), + testCase(SemaphoreTests.allTests), + testCase(StressTests.allTests) + ] +} +#endif \ No newline at end of file