mirror of
https://github.com/yonaskolb/XcodeGen.git
synced 2026-03-18 20:02:25 +00:00
Fix test cases for external project
This commit is contained in:
@@ -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)"
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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()"]
|
||||
|
||||
Reference in New Issue
Block a user