Use enum for checks result

This commit is contained in:
Franco Meloni 2019-12-23 22:20:57 +00:00
parent d708a72925
commit a7792c8f14
8 changed files with 261 additions and 153 deletions

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

View File

@ -0,0 +1,32 @@
<?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>SchemeUserState</key>
<dict>
<key>Rocket.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>0</integer>
</dict>
</dict>
<key>SuppressBuildableAutocreation</key>
<dict>
<key>RocketLib</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>RocketTests</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>rocket</key>
<dict>
<key>primary</key>
<true/>
</dict>
</dict>
</dict>
</plist>

View File

@ -39,11 +39,18 @@ if let rocketYamlPath = RocketFileFinder.rocketFilePath() {
} }
let checks = ChecksParser.parsePreReleaseChecks(fromDictionary: dictionary) let checks = ChecksParser.parsePreReleaseChecks(fromDictionary: dictionary)
let failedChecks = checks.filter { !$0.check() } let failedChecks = checks.compactMap { check -> String? in
switch check.check() {
case .success:
return nil
case let .failure(error):
return error
}
}
guard failedChecks.isEmpty else { guard failedChecks.isEmpty else {
logger.logError("Pre release checks failed", logger.logError("Pre release checks failed",
failedChecks.map { $0.errorMessage }.joined(separator: "\n"), failedChecks.joined(separator: "\n"),
separator: "\n") separator: "\n")
exit(1) exit(1)
} }

View File

@ -1,7 +1,10 @@
public protocol Check { public protocol Check {
init() init()
var errorMessage: String { get } func check() -> CheckResult
}
func check() -> Bool
public enum CheckResult: Equatable {
case success
case failure(String)
} }

View File

@ -1,11 +1,9 @@
import Foundation import Foundation
struct CleanGitStatusCheck: Check { struct CleanGitStatusCheck: Check {
private static let errorMessage: String = "Your git status contains not committed code, please remove it or commit it"
let launcher: ScriptLaunching let launcher: ScriptLaunching
var errorMessage: String {
return "Your git status contains not committed code, please remove it or commit it"
}
init() { init() {
self.init(launcher: ScriptLauncher()) self.init(launcher: ScriptLauncher())
@ -15,9 +13,9 @@ struct CleanGitStatusCheck: Check {
self.launcher = launcher self.launcher = launcher
} }
func check() -> Bool { func check() -> CheckResult {
let result = try? launcher.launchScript(withContent: "git diff --name-only", version: nil) let result = try? launcher.launchScript(withContent: "git diff --name-only", version: nil)
return result?.isEmpty ?? true return result?.isEmpty == true ? .success : .failure(CleanGitStatusCheck.errorMessage)
} }
} }

View File

@ -4,25 +4,25 @@ import TestSpy
import XCTest import XCTest
final class CleanGitStatusCheckTests: XCTestCase { final class CleanGitStatusCheckTests: XCTestCase {
func testReturnsTrueWhenThereIsAreNoModifiedFiles() { func testReturnsSuccessWhenThereIsAreNoModifiedFiles() {
let scriptLauncher = SpyScriptLauncher() let scriptLauncher = SpyScriptLauncher()
scriptLauncher.result = "" scriptLauncher.result = ""
let check = CleanGitStatusCheck(launcher: scriptLauncher) let check = CleanGitStatusCheck(launcher: scriptLauncher)
let result = check.check() let result = check.check()
expect(result).to(beTrue()) expect(result) == .success
expect(scriptLauncher).to(haveReceived(.launchScript(content: "git diff --name-only", version: nil))) expect(scriptLauncher).to(haveReceived(.launchScript(content: "git diff --name-only", version: nil)))
} }
func testReturnsFalseWhenThereIsAreModifiedFiles() { func testReturnsFailureWhenThereIsAreModifiedFiles() {
let scriptLauncher = SpyScriptLauncher() let scriptLauncher = SpyScriptLauncher()
scriptLauncher.result = "/Franco/Test.swift" scriptLauncher.result = "/Franco/Test.swift"
let check = CleanGitStatusCheck(launcher: scriptLauncher) let check = CleanGitStatusCheck(launcher: scriptLauncher)
let result = check.check() let result = check.check()
expect(result).to(beFalse()) expect(result) == .failure("Your git status contains not committed code, please remove it or commit it")
expect(scriptLauncher).to(haveReceived(.launchScript(content: "git diff --name-only", version: nil))) expect(scriptLauncher).to(haveReceived(.launchScript(content: "git diff --name-only", version: nil)))
} }
} }

View File

@ -1,160 +1,221 @@
import XCTest #if !canImport(ObjectiveC)
import XCTest
extension BranchExecutorTests { extension BranchExecutorTests {
static let __allTests = [ // DO NOT MODIFY: This is autogenerated, use:
("testItSendsEmptyScriptIfTheDictionaryIsNil", testItSendsEmptyScriptIfTheDictionaryIsNil), // `swift test --generate-linuxmain`
("testItSendsTheCorrectBranchNameToScriptLauncher", testItSendsTheCorrectBranchNameToScriptLauncher), // to regenerate.
("testItUsesAWorkaroundToGenerateTheTestsOnLinux", testItUsesAWorkaroundToGenerateTheTestsOnLinux), static let __allTests__BranchExecutorTests = [
] ("testItSendsEmptyScriptIfTheDictionaryIsNil", testItSendsEmptyScriptIfTheDictionaryIsNil),
} ("testItSendsTheCorrectBranchNameToScriptLauncher", testItSendsTheCorrectBranchNameToScriptLauncher),
("testItUsesAWorkaroundToGenerateTheTestsOnLinux", testItUsesAWorkaroundToGenerateTheTestsOnLinux),
]
}
extension ChecksParserTests { extension ChecksParserTests {
static let __allTests = [ // DO NOT MODIFY: This is autogenerated, use:
("testItIgnoresTheInvalidSteps", testItIgnoresTheInvalidSteps), // `swift test --generate-linuxmain`
("testItParsesCorrectlyAValidDictionary", testItParsesCorrectlyAValidDictionary), // to regenerate.
] static let __allTests__ChecksParserTests = [
} ("testItIgnoresTheInvalidSteps", testItIgnoresTheInvalidSteps),
("testItParsesCorrectlyAValidDictionary", testItParsesCorrectlyAValidDictionary),
]
}
extension CleanGitStatusCheckTests { extension CleanGitStatusCheckTests {
static let __allTests = [ // DO NOT MODIFY: This is autogenerated, use:
("testReturnsFalseWhenThereIsAreModifiedFiles", testReturnsFalseWhenThereIsAreModifiedFiles), // `swift test --generate-linuxmain`
("testReturnsTrueWhenThereIsAreNoModifiedFiles", testReturnsTrueWhenThereIsAreNoModifiedFiles), // to regenerate.
] static let __allTests__CleanGitStatusCheckTests = [
} ("testReturnsFailureWhenThereIsAreModifiedFiles", testReturnsFailureWhenThereIsAreModifiedFiles),
("testReturnsSuccessWhenThereIsAreNoModifiedFiles", testReturnsSuccessWhenThereIsAreNoModifiedFiles),
]
}
extension CommitExecutorTests { extension CommitExecutorTests {
static let __allTests = [ // DO NOT MODIFY: This is autogenerated, use:
("testItSetsTheParameterIfTheGitHookFolderExists", testItSetsTheParameterIfTheGitHookFolderExists), // `swift test --generate-linuxmain`
("testItUsesAWorkaroundToGenerateTheTestsOnLinux", testItUsesAWorkaroundToGenerateTheTestsOnLinux), // to regenerate.
("testItUsesTheParametersIfAny", testItUsesTheParametersIfAny), static let __allTests__CommitExecutorTests = [
("testItUsesTheStandardCommitMessageIfNoMessageIsProvided", testItUsesTheStandardCommitMessageIfNoMessageIsProvided), ("testItSetsTheParameterIfTheGitHookFolderExists", testItSetsTheParameterIfTheGitHookFolderExists),
] ("testItUsesAWorkaroundToGenerateTheTestsOnLinux", testItUsesAWorkaroundToGenerateTheTestsOnLinux),
} ("testItUsesTheParametersIfAny", testItUsesTheParametersIfAny),
("testItUsesTheStandardCommitMessageIfNoMessageIsProvided", testItUsesTheStandardCommitMessageIfNoMessageIsProvided),
]
}
extension CurrentVersionProviderTests { extension CurrentVersionProviderTests {
static let __allTests = [ // DO NOT MODIFY: This is autogenerated, use:
("testItReturnsTheCorrectTag", testItReturnsTheCorrectTag), // `swift test --generate-linuxmain`
("testItReturnsTheCorrectVersionIfThereAreNoTags", testItReturnsTheCorrectVersionIfThereAreNoTags), // to regenerate.
] static let __allTests__CurrentVersionProviderTests = [
} ("testItReturnsTheCorrectTag", testItReturnsTheCorrectTag),
("testItReturnsTheCorrectVersionIfThereAreNoTags", testItReturnsTheCorrectVersionIfThereAreNoTags),
]
}
extension DefaultExecutorStepDescriptionTests { extension DefaultExecutorStepDescriptionTests {
static let __allTests = [ // DO NOT MODIFY: This is autogenerated, use:
("testItShowsTheCorrectEndDescriptionWhenThereAreNoParameters", testItShowsTheCorrectEndDescriptionWhenThereAreNoParameters), // `swift test --generate-linuxmain`
("testItShowsTheCorrectEndDescriptionWhenThereAreParameters", testItShowsTheCorrectEndDescriptionWhenThereAreParameters), // to regenerate.
("testItShowsTheCorrectStartDescriptionWhenThereAreNoParameters", testItShowsTheCorrectStartDescriptionWhenThereAreNoParameters), static let __allTests__DefaultExecutorStepDescriptionTests = [
("testItShowsTheCorrectStartDescriptionWhenThereAreParameters", testItShowsTheCorrectStartDescriptionWhenThereAreParameters), ("testItShowsTheCorrectEndDescriptionWhenThereAreNoParameters", testItShowsTheCorrectEndDescriptionWhenThereAreNoParameters),
] ("testItShowsTheCorrectEndDescriptionWhenThereAreParameters", testItShowsTheCorrectEndDescriptionWhenThereAreParameters),
} ("testItShowsTheCorrectStartDescriptionWhenThereAreNoParameters", testItShowsTheCorrectStartDescriptionWhenThereAreNoParameters),
("testItShowsTheCorrectStartDescriptionWhenThereAreParameters", testItShowsTheCorrectStartDescriptionWhenThereAreParameters),
]
}
extension DevDependenciesModifierTests { extension DevDependenciesModifierTests {
static let __allTests = [ // DO NOT MODIFY: This is autogenerated, use:
("testItHidesTheDependenciesCorrectly", testItHidesTheDependenciesCorrectly), // `swift test --generate-linuxmain`
("testItShowsTheDependenciesCorrectly", testItShowsTheDependenciesCorrectly), // to regenerate.
] static let __allTests__DevDependenciesModifierTests = [
} ("testItHidesTheDependenciesCorrectly", testItHidesTheDependenciesCorrectly),
("testItShowsTheDependenciesCorrectly", testItShowsTheDependenciesCorrectly),
]
}
extension GitAddExecutorTests { extension GitAddExecutorTests {
static let __allTests = [ // DO NOT MODIFY: This is autogenerated, use:
("testItDoesntSendAnyCommandToTheScriptLauncherIfTheDictionaryIsNil", testItDoesntSendAnyCommandToTheScriptLauncherIfTheDictionaryIsNil), // `swift test --generate-linuxmain`
("testItSendsTheCorrectPathsToTheScriptLauncher", testItSendsTheCorrectPathsToTheScriptLauncher), // to regenerate.
("testItUsesAWorkaroundToGenerateTheTestsOnLinux", testItUsesAWorkaroundToGenerateTheTestsOnLinux), static let __allTests__GitAddExecutorTests = [
] ("testItDoesntSendAnyCommandToTheScriptLauncherIfTheDictionaryIsNil", testItDoesntSendAnyCommandToTheScriptLauncherIfTheDictionaryIsNil),
} ("testItSendsTheCorrectPathsToTheScriptLauncher", testItSendsTheCorrectPathsToTheScriptLauncher),
("testItUsesAWorkaroundToGenerateTheTestsOnLinux", testItUsesAWorkaroundToGenerateTheTestsOnLinux),
]
}
extension HideDevDependenciesExecutorTests { extension HideDevDependenciesExecutorTests {
static let __allTests = [ // DO NOT MODIFY: This is autogenerated, use:
("testItSendsTheHideDependenciesCallToTheDevDependenciesModifier", testItSendsTheHideDependenciesCallToTheDevDependenciesModifier), // `swift test --generate-linuxmain`
("testItUsesTheDefaultPackagePath", testItUsesTheDefaultPackagePath), // to regenerate.
] static let __allTests__HideDevDependenciesExecutorTests = [
} ("testItSendsTheHideDependenciesCallToTheDevDependenciesModifier", testItSendsTheHideDependenciesCallToTheDevDependenciesModifier),
("testItUsesTheDefaultPackagePath", testItUsesTheDefaultPackagePath),
]
}
extension NewVersionProviderTests { extension NewVersionProviderTests {
static let __allTests = [ // DO NOT MODIFY: This is autogenerated, use:
("testReturnsTheCorrectNewVersion", testReturnsTheCorrectNewVersion), // `swift test --generate-linuxmain`
] // to regenerate.
} static let __allTests__NewVersionProviderTests = [
("testReturnsTheCorrectNewVersion", testReturnsTheCorrectNewVersion),
]
}
extension PushExecutorTests { extension PushExecutorTests {
static let __allTests = [ // DO NOT MODIFY: This is autogenerated, use:
("testItAddsTheNoVerifyParameterIfGitHookFolderIsPresent", testItAddsTheNoVerifyParameterIfGitHookFolderIsPresent), // `swift test --generate-linuxmain`
("testItSendsTheCorrectScriptContent", testItSendsTheCorrectScriptContent), // to regenerate.
("testItSendsTheNoVerifyParameterIfRequired", testItSendsTheNoVerifyParameterIfRequired), static let __allTests__PushExecutorTests = [
("testItUsesAWorkaroundToGenerateTheTestsOnLinux", testItUsesAWorkaroundToGenerateTheTestsOnLinux), ("testItAddsTheNoVerifyParameterIfGitHookFolderIsPresent", testItAddsTheNoVerifyParameterIfGitHookFolderIsPresent),
] ("testItSendsTheCorrectScriptContent", testItSendsTheCorrectScriptContent),
} ("testItSendsTheNoVerifyParameterIfRequired", testItSendsTheNoVerifyParameterIfRequired),
("testItUsesAWorkaroundToGenerateTheTestsOnLinux", testItUsesAWorkaroundToGenerateTheTestsOnLinux),
]
}
extension RocketFileFinderTests { extension RocketFileFinderTests {
static let __allTests = [ // DO NOT MODIFY: This is autogenerated, use:
("testItReturnsNilIfThereAreNoArgumentsAndTheDefaultFileDoesntExist", testItReturnsNilIfThereAreNoArgumentsAndTheDefaultFileDoesntExist), // `swift test --generate-linuxmain`
("testItReturnsTheArgumentPathIfPresent", testItReturnsTheArgumentPathIfPresent), // to regenerate.
("testItReturnsTheDefaultPathIfNoArgsAreThereAndTheFileExists", testItReturnsTheDefaultPathIfNoArgsAreThereAndTheFileExists), static let __allTests__RocketFileFinderTests = [
] ("testItReturnsNilIfThereAreNoArgumentsAndTheDefaultFileDoesntExist", testItReturnsNilIfThereAreNoArgumentsAndTheDefaultFileDoesntExist),
} ("testItReturnsTheArgumentPathIfPresent", testItReturnsTheArgumentPathIfPresent),
("testItReturnsTheDefaultPathIfNoArgsAreThereAndTheFileExists", testItReturnsTheDefaultPathIfNoArgsAreThereAndTheFileExists),
]
}
extension ScriptExecutorTests { extension ScriptExecutorTests {
static let __allTests = [ // DO NOT MODIFY: This is autogenerated, use:
("testItDoesntSendAnyCommandToTheScriptLauncherIfTheContentIsEmpty", testItDoesntSendAnyCommandToTheScriptLauncherIfTheContentIsEmpty), // `swift test --generate-linuxmain`
("testItDoesntSendAnyCommandToTheScriptLauncherIfTheDictionaryIsNil", testItDoesntSendAnyCommandToTheScriptLauncherIfTheDictionaryIsNil), // to regenerate.
("testItSendsTheCorrectScriptToTheScriptLauncher", testItSendsTheCorrectScriptToTheScriptLauncher), static let __allTests__ScriptExecutorTests = [
("testItUsesAWorkaroundToGenerateTheTestsOnLinux", testItUsesAWorkaroundToGenerateTheTestsOnLinux), ("testItDoesntSendAnyCommandToTheScriptLauncherIfTheContentIsEmpty", testItDoesntSendAnyCommandToTheScriptLauncherIfTheContentIsEmpty),
] ("testItDoesntSendAnyCommandToTheScriptLauncherIfTheDictionaryIsNil", testItDoesntSendAnyCommandToTheScriptLauncherIfTheDictionaryIsNil),
} ("testItSendsTheCorrectScriptToTheScriptLauncher", testItSendsTheCorrectScriptToTheScriptLauncher),
("testItUsesAWorkaroundToGenerateTheTestsOnLinux", testItUsesAWorkaroundToGenerateTheTestsOnLinux),
]
}
extension StepsParserTests { extension ScriptLauncherTestCase {
static let __allTests = [ // DO NOT MODIFY: This is autogenerated, use:
("testItCreatesAScriptStepForNotRecognisedStrings", testItCreatesAScriptStepForNotRecognisedStrings), // `swift test --generate-linuxmain`
("testItIgnoresTheInvalidSteps", testItIgnoresTheInvalidSteps), // to regenerate.
("testItParsesCorrectlyAValidDictionary", testItParsesCorrectlyAValidDictionary), static let __allTests__ScriptLauncherTestCase = [
("testItParsesCorrectlyBeforeAndAfterSteps", testItParsesCorrectlyBeforeAndAfterSteps), ("testItUsesAWorkaroundToGenerateTheTestsOnLinux", testItUsesAWorkaroundToGenerateTheTestsOnLinux),
("testItParsesCorrectlyWhenOnlyAfterIsSpecified", testItParsesCorrectlyWhenOnlyAfterIsSpecified), ]
("testItParsesCorrectlyWhenOnlyBeforeIsSpecified", testItParsesCorrectlyWhenOnlyBeforeIsSpecified), }
("testItParsesItReturnsTheDefaultParametersIfTheDictionaryIsEmpty", testItParsesItReturnsTheDefaultParametersIfTheDictionaryIsEmpty),
]
}
extension SwiftScriptExecutorTests { extension StepsParserTests {
static let __allTests = [ // DO NOT MODIFY: This is autogenerated, use:
("testItCreatesTheCorrectProcess", testItCreatesTheCorrectProcess), // `swift test --generate-linuxmain`
("testItDoesntCreateTheProcessIfThereIsNoScriptPath", testItDoesntCreateTheProcessIfThereIsNoScriptPath), // to regenerate.
("testItPassesTheArgumentsToTheProcess", testItPassesTheArgumentsToTheProcess), static let __allTests__StepsParserTests = [
] ("testItCreatesAScriptStepForNotRecognisedStrings", testItCreatesAScriptStepForNotRecognisedStrings),
} ("testItIgnoresTheInvalidSteps", testItIgnoresTheInvalidSteps),
("testItParsesCorrectlyAValidDictionary", testItParsesCorrectlyAValidDictionary),
("testItParsesCorrectlyBeforeAndAfterSteps", testItParsesCorrectlyBeforeAndAfterSteps),
("testItParsesCorrectlyWhenOnlyAfterIsSpecified", testItParsesCorrectlyWhenOnlyAfterIsSpecified),
("testItParsesCorrectlyWhenOnlyBeforeIsSpecified", testItParsesCorrectlyWhenOnlyBeforeIsSpecified),
("testItParsesItReturnsTheDefaultParametersIfTheDictionaryIsEmpty", testItParsesItReturnsTheDefaultParametersIfTheDictionaryIsEmpty),
]
}
extension TagExecutorTests { extension SwiftScriptExecutorTests {
static let __allTests = [ // DO NOT MODIFY: This is autogenerated, use:
("testItSendsTheCorrectScriptToTheScriptLauncher", testItSendsTheCorrectScriptToTheScriptLauncher), // `swift test --generate-linuxmain`
("testItUsesAWorkaroundToGenerateTheTestsOnLinux", testItUsesAWorkaroundToGenerateTheTestsOnLinux), // to regenerate.
] static let __allTests__SwiftScriptExecutorTests = [
} ("testItCreatesTheCorrectProcess", testItCreatesTheCorrectProcess),
("testItDoesntCreateTheProcessIfThereIsNoScriptPath", testItDoesntCreateTheProcessIfThereIsNoScriptPath),
("testItPassesTheArgumentsToTheProcess", testItPassesTheArgumentsToTheProcess),
]
}
extension UnhideDevDependenciesExecutorTests { extension TagExecutorTests {
static let __allTests = [ // DO NOT MODIFY: This is autogenerated, use:
("testItSendsTheHideDependenciesCallToTheDevDependenciesModifier", testItSendsTheHideDependenciesCallToTheDevDependenciesModifier), // `swift test --generate-linuxmain`
("testItUsesTheDefaultPackagePath", testItUsesTheDefaultPackagePath), // to regenerate.
] static let __allTests__TagExecutorTests = [
} ("testItSendsTheCorrectScriptToTheScriptLauncher", testItSendsTheCorrectScriptToTheScriptLauncher),
("testItUsesAWorkaroundToGenerateTheTestsOnLinux", testItUsesAWorkaroundToGenerateTheTestsOnLinux),
]
}
extension UnhideDevDependenciesExecutorTests {
// DO NOT MODIFY: This is autogenerated, use:
// `swift test --generate-linuxmain`
// to regenerate.
static let __allTests__UnhideDevDependenciesExecutorTests = [
("testItSendsTheHideDependenciesCallToTheDevDependenciesModifier", testItSendsTheHideDependenciesCallToTheDevDependenciesModifier),
("testItUsesTheDefaultPackagePath", testItUsesTheDefaultPackagePath),
]
}
#if !os(macOS)
public func __allTests() -> [XCTestCaseEntry] { public func __allTests() -> [XCTestCaseEntry] {
return [ return [
testCase(BranchExecutorTests.__allTests), testCase(BranchExecutorTests.__allTests__BranchExecutorTests),
testCase(ChecksParserTests.__allTests), testCase(ChecksParserTests.__allTests__ChecksParserTests),
testCase(CleanGitStatusCheckTests.__allTests), testCase(CleanGitStatusCheckTests.__allTests__CleanGitStatusCheckTests),
testCase(CommitExecutorTests.__allTests), testCase(CommitExecutorTests.__allTests__CommitExecutorTests),
testCase(CurrentVersionProviderTests.__allTests), testCase(CurrentVersionProviderTests.__allTests__CurrentVersionProviderTests),
testCase(DefaultExecutorStepDescriptionTests.__allTests), testCase(DefaultExecutorStepDescriptionTests.__allTests__DefaultExecutorStepDescriptionTests),
testCase(DevDependenciesModifierTests.__allTests), testCase(DevDependenciesModifierTests.__allTests__DevDependenciesModifierTests),
testCase(GitAddExecutorTests.__allTests), testCase(GitAddExecutorTests.__allTests__GitAddExecutorTests),
testCase(HideDevDependenciesExecutorTests.__allTests), testCase(HideDevDependenciesExecutorTests.__allTests__HideDevDependenciesExecutorTests),
testCase(NewVersionProviderTests.__allTests), testCase(NewVersionProviderTests.__allTests__NewVersionProviderTests),
testCase(PushExecutorTests.__allTests), testCase(PushExecutorTests.__allTests__PushExecutorTests),
testCase(RocketFileFinderTests.__allTests), testCase(RocketFileFinderTests.__allTests__RocketFileFinderTests),
testCase(ScriptExecutorTests.__allTests), testCase(ScriptExecutorTests.__allTests__ScriptExecutorTests),
testCase(StepsParserTests.__allTests), testCase(ScriptLauncherTestCase.__allTests__ScriptLauncherTestCase),
testCase(SwiftScriptExecutorTests.__allTests), testCase(StepsParserTests.__allTests__StepsParserTests),
testCase(TagExecutorTests.__allTests), testCase(SwiftScriptExecutorTests.__allTests__SwiftScriptExecutorTests),
testCase(UnhideDevDependenciesExecutorTests.__allTests), testCase(TagExecutorTests.__allTests__TagExecutorTests),
testCase(UnhideDevDependenciesExecutorTests.__allTests__UnhideDevDependenciesExecutorTests),
] ]
} }
#endif #endif