Fix test cases for external project

This commit is contained in:
Yuta Saito
2019-09-23 00:23:51 +09:00
parent 30fc642b04
commit 5f02e6883b
3 changed files with 23 additions and 26 deletions
@@ -201,7 +201,7 @@ class ProjectSpecTests: XCTestCase {
var project = baseProject
project.schemes = [Scheme(
name: "scheme1",
build: .init(targets: [.init(target: "invalidTarget")]),
build: .init(targets: [.init(target: .init(name: "invalidTarget", location: .local))]),
run: .init(config: "debugInvalid"),
archive: .init(config: "releaseInvalid")
)]
@@ -249,7 +249,7 @@ class ProjectSpecTests: XCTestCase {
attributes: [:]
)
project.aggregateTargets = [aggregatedTarget]
let buildTarget = Scheme.BuildTarget(target: "target1")
let buildTarget = Scheme.BuildTarget(target: .init(name: "target1"))
let scheme = Scheme(name: "target1-Scheme", build: Scheme.Build(targets: [buildTarget]))
project.schemes = [scheme]
try project.validate()
@@ -332,7 +332,7 @@ class ProjectSpecTests: XCTestCase {
name: nil,
outputFiles: ["bar"],
outputFilesCompilerFlags: ["foo"])],
scheme: TargetScheme(testTargets: [Scheme.Test.TestTarget(name: "test target",
scheme: TargetScheme(testTargets: [Scheme.Test.TestTarget(targetReference: .init(name: "test target"),
randomExecutionOrder: false,
parallelizable: false)],
configVariants: ["foo"],
@@ -370,7 +370,7 @@ class ProjectSpecTests: XCTestCase {
shell: "/bin/bash",
runOnlyWhenInstalling: true,
showEnvVars: false)],
scheme: TargetScheme(testTargets: [Scheme.Test.TestTarget(name: "test target",
scheme: TargetScheme(testTargets: [Scheme.Test.TestTarget(targetReference: .init(name: "test target"),
randomExecutionOrder: false,
parallelizable: false)],
configVariants: ["foo"],
@@ -398,7 +398,7 @@ class ProjectSpecTests: XCTestCase {
groups: ["config-setting-group"])],
groups: ["setting-group"])],
schemes: [Scheme(name: "scheme",
build: Scheme.Build(targets: [Scheme.BuildTarget(target: "foo",
build: Scheme.Build(targets: [Scheme.BuildTarget(target: .init(name: "foo"),
buildTypes: [.archiving, .analyzing])],
parallelizeBuild: false,
buildImplicitDependencies: false,
@@ -425,7 +425,7 @@ class ProjectSpecTests: XCTestCase {
randomExecutionOrder: false,
parallelizable: false,
commandLineArguments: ["foo": true],
targets: [Scheme.Test.TestTarget(name: "foo",
targets: [Scheme.Test.TestTarget(targetReference: .init(name: "foo"),
randomExecutionOrder: false,
parallelizable: false)],
preActions: [Scheme.ExecutionAction(name: "preAction",
@@ -37,7 +37,7 @@ class SchemeGeneratorTests: XCTestCase {
func testSchemes() {
describe {
let buildTarget = Scheme.BuildTarget(target: app.name)
let buildTarget = Scheme.BuildTarget(target: .init(name: app.name, location: .local))
$0.it("generates scheme") {
let preAction = Scheme.ExecutionAction(name: "Script", script: "echo Starting", settingsTarget: app.name)
let scheme = Scheme(
@@ -209,8 +209,9 @@ class SchemeGeneratorTests: XCTestCase {
try! writer.writeXcodeProject(xcodeProject)
try! writer.writePlists()
}
let externalProject = fixturePath + "scheme_test/TestProject.xcodeproj"
let target = Scheme.BuildTarget(target: "ExternalTarget", externalProject: externalProject.string)
let externalProjectPath = fixturePath + "scheme_test/TestProject.xcodeproj"
let externalProject = ExternalProject(name: "ExternalProject", path: externalProjectPath.string)
let target = Scheme.BuildTarget(target: .init(name: "ExternalTarget", location: .project("ExternalProject")))
let scheme = Scheme(
name: "ExternalProjectScheme",
build: Scheme.Build(targets: [target])
@@ -218,7 +219,8 @@ class SchemeGeneratorTests: XCTestCase {
let project = Project(
name: "test",
targets: [],
schemes: [scheme]
schemes: [scheme],
externalProjects: [externalProject]
)
let xcodeProject = try project.generateXcodeProject()
guard let xcscheme = xcodeProject.sharedData?.schemes.first else {
@@ -227,7 +229,7 @@ class SchemeGeneratorTests: XCTestCase {
try expect(xcscheme.buildAction?.buildActionEntries.count) == 1
let buildableReference = xcscheme.buildAction?.buildActionEntries.first?.buildableReference
try expect(buildableReference?.blueprintName) == "ExternalTarget"
try expect(buildableReference?.referencedContainer) == "container:\(externalProject.string)"
try expect(buildableReference?.referencedContainer) == "container:\(externalProjectPath.string)"
}
}
+10 -15
View File
@@ -748,10 +748,7 @@ class SpecLoadingTests: XCTestCase {
"Target4": ["testing": true],
"Target5": ["testing": false],
"Target6": ["test", "analyze"],
"Target7": [
"externalProject": "ExternalProject.xcodeproj",
"types": ["run"],
],
"ExternalProject/Target7": ["run"],
],
"preActions": [
[
@@ -766,8 +763,7 @@ class SpecLoadingTests: XCTestCase {
"targets": [
"Target1",
[
"name": "Target2",
"externalProject": "ExternalProject.xcodeproj",
"name": "ExternalProject/Target2",
"parallelizable": true,
"randomExecutionOrder": true,
"skippedTests": ["Test/testExample()"],
@@ -779,13 +775,13 @@ class SpecLoadingTests: XCTestCase {
]
let scheme = try Scheme(name: "Scheme", jsonDictionary: schemeDictionary)
let expectedTargets: [Scheme.BuildTarget] = [
Scheme.BuildTarget(target: "Target1", buildTypes: BuildType.all),
Scheme.BuildTarget(target: "Target2", buildTypes: [.testing, .analyzing]),
Scheme.BuildTarget(target: "Target3", buildTypes: []),
Scheme.BuildTarget(target: "Target4", buildTypes: [.testing]),
Scheme.BuildTarget(target: "Target5", buildTypes: []),
Scheme.BuildTarget(target: "Target6", buildTypes: [.testing, .analyzing]),
Scheme.BuildTarget(target: "Target7", externalProject: "ExternalProject.xcodeproj", buildTypes: [.running]),
Scheme.BuildTarget(target: .init(name: "Target1"), buildTypes: BuildType.all),
Scheme.BuildTarget(target: .init(name: "Target2"), buildTypes: [.testing, .analyzing]),
Scheme.BuildTarget(target: .init(name: "Target3"), buildTypes: []),
Scheme.BuildTarget(target: .init(name: "Target4"), buildTypes: [.testing]),
Scheme.BuildTarget(target: .init(name: "Target5"), buildTypes: []),
Scheme.BuildTarget(target: .init(name: "Target6"), buildTypes: [.testing, .analyzing]),
Scheme.BuildTarget(target: .init(name: "Target7", location: .project("ExternalProject")), buildTypes: [.running]),
]
try expect(scheme.name) == "Scheme"
try expect(scheme.build.targets) == expectedTargets
@@ -803,8 +799,7 @@ class SpecLoadingTests: XCTestCase {
targets: [
"Target1",
Scheme.Test.TestTarget(
name: "Target2",
externalProject: "ExternalProject.xcodeproj",
targetReference: .init(name: "Target2", location: .project("ExternalProject")),
randomExecutionOrder: true,
parallelizable: true,
skippedTests: ["Test/testExample()"]