Use the unique name when setting `PRODUCT_NAME` for `PBXNativeTarget`s While this is a requirement for the new build system, this fixes a long-standing known issue in Tulsi where running multiple tests with the same bundle name from a test_suite would not work properly. - Additionally try to shorten the unique native target names by searching for a common prefix (currently limited to targets but not test_suites themselves) PiperOrigin-RevId: 304204500
diff --git a/build_and_run.sh b/build_and_run.sh index 054a8a7..d124e4c 100755 --- a/build_and_run.sh +++ b/build_and_run.sh
@@ -24,7 +24,7 @@ readonly unzip_dir="${1:-$HOME/Applications}" # build it -bazel build //:tulsi +bazel build //:tulsi --use_top_level_targets_for_symlinks # unzip it unzip -oq $(bazel info workspace)/bazel-bin/tulsi.zip -d "$unzip_dir" # run it
diff --git a/src/TulsiGenerator/PBXTargetGenerator.swift b/src/TulsiGenerator/PBXTargetGenerator.swift index 39e5365..4924b45 100644 --- a/src/TulsiGenerator/PBXTargetGenerator.swift +++ b/src/TulsiGenerator/PBXTargetGenerator.swift
@@ -104,9 +104,13 @@ /// Generates Xcode build targets that invoke Bazel for the given targets. For test-type rules, /// non-compiling source file linkages are created to facilitate indexing of XCTests. + /// + /// Returns a mapping from build label to generated PBXNativeTarget. /// Throws if one of the RuleEntry instances is for an unsupported Bazel target type. - func generateBuildTargetsForRuleEntries(_ entries: Set<RuleEntry>, - ruleEntryMap: RuleEntryMap) throws + func generateBuildTargetsForRuleEntries( + _ entries: Set<RuleEntry>, + ruleEntryMap: RuleEntryMap + ) throws -> [BuildLabel: PBXNativeTarget] } extension PBXTargetGeneratorProtocol { @@ -810,8 +814,10 @@ } /// Generates build targets for the given rule entries. - func generateBuildTargetsForRuleEntries(_ ruleEntries: Set<RuleEntry>, - ruleEntryMap: RuleEntryMap) throws { + func generateBuildTargetsForRuleEntries( + _ ruleEntries: Set<RuleEntry>, + ruleEntryMap: RuleEntryMap + ) throws -> [BuildLabel: PBXNativeTarget] { let namedRuleEntries = generateUniqueNamesForRuleEntries(ruleEntries) let progressNotifier = ProgressNotifier(name: GeneratingBuildTargets, @@ -820,12 +826,14 @@ var testTargetLinkages = [(PBXNativeTarget, BuildLabel?, RuleEntry)]() var watchAppTargets = [String: (PBXNativeTarget, RuleEntry)]() var watchExtensionsByEntry = [RuleEntry: PBXNativeTarget]() + var targetsByLabel = [BuildLabel: PBXNativeTarget]() for (name, entry) in namedRuleEntries { progressNotifier.incrementValue() let target = try createBuildTargetForRuleEntry(entry, named: name, ruleEntryMap: ruleEntryMap) + targetsByLabel[entry.label] = target if let script = options[.PreBuildPhaseRunScript, entry.label.value] { let runScript = PBXShellScriptBuildPhase(shellScript: script, shellPath: "/bin/bash") @@ -877,7 +885,7 @@ for (testTarget, testHostLabel, entry) in testTargetLinkages { let testHostTarget: PBXNativeTarget? if let hostTargetLabel = testHostLabel { - testHostTarget = projectTargetForLabel(hostTargetLabel) as? PBXNativeTarget + testHostTarget = targetsByLabel[hostTargetLabel] if testHostTarget == nil { // If the user did not choose to include the host target it won't be available so the // linkage can be skipped. We will still force the generation of this test host target to @@ -895,6 +903,7 @@ ruleEntry: entry, ruleEntryMap: ruleEntryMap) } + return targetsByLabel } // MARK: - Private methods @@ -983,30 +992,76 @@ return (nonARCFileReferences, settings) } - private func generateUniqueNamesForRuleEntries(_ ruleEntries: Set<RuleEntry>) -> [String: RuleEntry] { - // Build unique names for the target rules. - var collidingRuleEntries = [String: [RuleEntry]]() - for entry: RuleEntry in ruleEntries { - let shortName = entry.label.targetName! - if var existingRules = collidingRuleEntries[shortName] { - existingRules.append(entry) - collidingRuleEntries[shortName] = existingRules - } else { - collidingRuleEntries[shortName] = [entry] - } + /// Find the longest common non-empty strict prefix for the given strings if there is one. + private func longestCommonPrefix(_ strings: Set<String>, separator: Character) -> String { + // Longest common prefix for 0 or 1 string(s) doesn't make sense. + guard strings.count >= 2, var shortestString = strings.first else { return "" } + for str in strings { + guard str.count < shortestString.count else { continue } + shortestString = str } + guard !shortestString.isEmpty else { return "" } + + // Drop the last so we can only get a strict prefix. + var components = shortestString.split(separator: separator).dropLast() + var potentialPrefix = "\(components.joined(separator: "\(separator)"))\(separator)" + + for str in strings { + while !components.isEmpty && !str.hasPrefix(potentialPrefix) { + components = components.dropLast() + potentialPrefix = "\(components.joined(separator: "\(separator)"))\(separator)" + } + } + return potentialPrefix + } + + private func generateUniqueNamesForRuleEntries(_ ruleEntries: Set<RuleEntry>) -> [String: RuleEntry] { + // Build unique names for the target rules. + var rulesEntriesByTargetName = [String: [RuleEntry]]() + for entry: RuleEntry in ruleEntries { + let shortName = entry.label.targetName! + rulesEntriesByTargetName[shortName, default: []].append(entry) + } + + var conflictingRuleEntries: [RuleEntry] = [] + var conflictingFullNames: Set<String> = [] var namedRuleEntries = [String: RuleEntry]() - for (name, entries) in collidingRuleEntries { + + // Identify those which are OK and those which are in conflict. + for (name, entries) in rulesEntriesByTargetName { guard entries.count > 1 else { namedRuleEntries[name] = entries.first! continue } - for entry in entries { + conflictingRuleEntries.append(contentsOf: entries) + conflictingFullNames.formUnion(entries.map { + $0.label.asFullPBXTargetName! + }) + } + + // Try to strip out a common prefix if we can find one. + let commonPrefix = self.longestCommonPrefix(conflictingFullNames, separator: "-") + + guard !commonPrefix.isEmpty else { + for entry in conflictingRuleEntries { let fullName = entry.label.asFullPBXTargetName! namedRuleEntries[fullName] = entry } + return namedRuleEntries + } + + // Found a common prefix, we can strip it as long as we don't cause a new duplicate. + let charsToDrop = commonPrefix.count + for entry in conflictingRuleEntries { + let fullName = entry.label.asFullPBXTargetName! + let shortenedFullName = String(fullName.dropFirst(charsToDrop)) + guard !shortenedFullName.isEmpty && namedRuleEntries.index(forKey: shortenedFullName) == nil else { + namedRuleEntries[fullName] = entry + continue + } + namedRuleEntries[shortenedFullName] = entry } return namedRuleEntries @@ -1379,17 +1434,6 @@ return testSettings } - // Resolves a BuildLabel to an existing PBXTarget, handling target name collisions. - private func projectTargetForLabel(_ label: BuildLabel) -> PBXTarget? { - guard let targetName = label.targetName else { return nil } - if let target = project.targetByName[targetName] { - return target - } - - guard let fullTargetName = label.asFullPBXTargetName else { return nil } - return project.targetByName[fullTargetName] - } - // Adds a dummy build configuration to the given list based off of the Debug config that is // used to effectively disable compilation when running XCTests by converting each compile call // into a "clang --version" invocation. @@ -1550,7 +1594,7 @@ buildSettings["TULSI_BUILD_PATH"] = entry.label.packageName! - buildSettings["PRODUCT_NAME"] = entry.bundleName ?? name + buildSettings["PRODUCT_NAME"] = name if let bundleID = entry.bundleID { buildSettings["PRODUCT_BUNDLE_IDENTIFIER"] = bundleID }
diff --git a/src/TulsiGenerator/XcodeProjectGenerator.swift b/src/TulsiGenerator/XcodeProjectGenerator.swift index 66554ac..86f64ae 100644 --- a/src/TulsiGenerator/XcodeProjectGenerator.swift +++ b/src/TulsiGenerator/XcodeProjectGenerator.swift
@@ -315,6 +315,9 @@ /// A mapping of indexer targets by name. let indexerTargets: [String: PBXTarget] + + /// Mapping from label to top-level build target. + let topLevelBuildTargetsByLabel: [BuildLabel: PBXNativeTarget] } /// Throws an exception if the Xcode project path is found to be in a forbidden location, @@ -534,8 +537,9 @@ buildSettings["TULSI_PROJECT"] = config.projectName generator.generateTopLevelBuildConfigurations(buildSettings) } + var targetsByLabel = [BuildLabel: PBXNativeTarget]() try profileAction("generating_build_targets") { - try generator.generateBuildTargetsForRuleEntries(targetRules, + targetsByLabel = try generator.generateBuildTargetsForRuleEntries(targetRules, ruleEntryMap: ruleEntryMap) } @@ -565,7 +569,8 @@ return GeneratedProjectInfo(project: xcodeProject, buildRuleEntries: targetRules, testSuiteRuleEntries: testSuiteRules, - indexerTargets: indexerTargets) + indexerTargets: indexerTargets, + topLevelBuildTargetsByLabel: targetsByLabel) } private func installWorkspaceSettings(_ projectURL: URL) throws { @@ -697,6 +702,9 @@ } func targetForLabel(_ label: BuildLabel) -> PBXTarget? { + if let pbxTarget = info.topLevelBuildTargetsByLabel[label] { + return pbxTarget + } if let pbxTarget = info.project.targetByName[label.targetName!] { return pbxTarget } else if let pbxTarget = info.project.targetByName[label.asFullPBXTargetName!] { @@ -972,11 +980,7 @@ var testSuiteSchemes = [String: [RuleEntry]]() for (label, entry) in info.testSuiteRuleEntries { let shortName = label.targetName! - if let _ = testSuiteSchemes[shortName] { - testSuiteSchemes[shortName]!.append(entry) - } else { - testSuiteSchemes[shortName] = [entry] - } + testSuiteSchemes[shortName, default: []].append(entry) } for testSuites in testSuiteSchemes.values { for suite in testSuites {
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj index 206a2a9..54ef49c 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/project.pbxproj
@@ -30,12 +30,11 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 25889F7C149738A400000000 /* TestSuite-Three-XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = "TestSuite-Three-XCTest.xctest"; path = "TestSuite-Three-XCTest.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 25889F7C1E33767800000000 /* TestSuite-One-XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = "TestSuite-One-XCTest.xctest"; path = "TestSuite-One-XCTest.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7C2A3379D000000000 /* lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a; path = lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7C2E28BE8E00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/Two/BUILD; sourceTree = "<group>"; }; 25889F7C35687C6800000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/BUILD; sourceTree = "<group>"; }; 25889F7C35F4A86400000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/TestSuite/Application/srcs/main.m"; sourceTree = "<group>"; }; + 25889F7C516E750000000000 /* Two-XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = "Two-XCTest.xctest"; path = "Two-XCTest.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7C574E98E200000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/Three/XCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = "<group>"; }; 25889F7C5801CD8000000000 /* LogicTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = LogicTest.xctest; path = LogicTest.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7C5D1BD9FD00000000 /* XCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = XCTest.m; path = "tulsi-workspace/TestSuite/Two/XCTest.m"; sourceTree = "<group>"; }; @@ -44,13 +43,14 @@ 25889F7C96D67B6F00000000 /* XCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = XCTest.m; path = "tulsi-workspace/TestSuite/Three/XCTest.m"; sourceTree = "<group>"; }; 25889F7C9BDE3CEF00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/TestSuite/Info.plist"; sourceTree = "<group>"; }; 25889F7C9F3B3D3900000000 /* LogicTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = LogicTest.m; path = "tulsi-workspace/TestSuite/One/LogicTest.m"; sourceTree = "<group>"; }; + 25889F7CA014E18400000000 /* One-XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = "One-XCTest.xctest"; path = "One-XCTest.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7CA25B0A0200000000 /* XCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = XCTest.m; path = "tulsi-workspace/TestSuite/One/XCTest.m"; sourceTree = "<group>"; }; 25889F7CADBB0ACA00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/Three/BUILD; sourceTree = "<group>"; }; 25889F7CB8B54B6E00000000 /* TestApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = TestApplication.app; path = TestApplication.app; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7CBA3A60B600000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/One/XCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = "<group>"; }; 25889F7CC44C976600000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/Two/XCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = "<group>"; }; - 25889F7CCE0328AC00000000 /* TestSuite-Two-XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = "TestSuite-Two-XCTest.xctest"; path = "TestSuite-Two-XCTest.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 25889F7CDF260A6500000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/TestApplication-intermediates/Info.plist"; sourceTree = "<group>"; }; + 25889F7CF16496E600000000 /* Three-XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = "Three-XCTest.xctest"; path = "Three-XCTest.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ @@ -116,10 +116,10 @@ children = ( 45D05629C0087DBE00000000 /* Indexer */, 25889F7C5801CD8000000000 /* LogicTest.xctest */, + 25889F7CA014E18400000000 /* One-XCTest.xctest */, 25889F7CB8B54B6E00000000 /* TestApplication.app */, - 25889F7C1E33767800000000 /* TestSuite-One-XCTest.xctest */, - 25889F7C149738A400000000 /* TestSuite-Three-XCTest.xctest */, - 25889F7CCE0328AC00000000 /* TestSuite-Two-XCTest.xctest */, + 25889F7CF16496E600000000 /* Three-XCTest.xctest */, + 25889F7C516E750000000000 /* Two-XCTest.xctest */, 45D05629A259EF0200000000 /* bazel-tulsi-includes */, ); name = Products; @@ -279,32 +279,13 @@ productReference = 25889F7CB8B54B6E00000000 /* TestApplication.app */; productType = "com.apple.product-type.application"; }; - 7E9AFE6238918F2000000000 /* TestSuite-Three-XCTest */ = { + 7E9AFE6269ABCA1200000000 /* One-XCTest */ = { isa = PBXNativeTarget; - buildConfigurationList = F4222DEDA5985C6D00000000 /* Build configuration list for PBXNativeTarget "TestSuite-Three-XCTest" */; - buildPhases = ( - 978262ABE1E5C70200000000 /* ShellScript */, - 978262ABF6DBF80000000002 /* ShellScript */, - 04BFD5160000000000000002 /* Sources */, - ); - buildRules = ( - ); - dependencies = ( - 89B1AEB39734745D00000000 /* PBXTargetDependency */, - 89B1AEB31FDDBD5D00000000 /* PBXTargetDependency */, - ); - name = "TestSuite-Three-XCTest"; - productName = "TestSuite-Three-XCTest"; - productReference = 25889F7C149738A400000000 /* TestSuite-Three-XCTest.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 7E9AFE6243B8875800000000 /* TestSuite-One-XCTest */ = { - isa = PBXNativeTarget; - buildConfigurationList = F4222DEDCBBF3A8D00000000 /* Build configuration list for PBXNativeTarget "TestSuite-One-XCTest" */; + buildConfigurationList = F4222DED8D0BF21000000000 /* Build configuration list for PBXNativeTarget "One-XCTest" */; buildPhases = ( 978262AB428C9DC600000000 /* ShellScript */, - 978262ABF6DBF80000000001 /* ShellScript */, - 04BFD5160000000000000001 /* Sources */, + 978262ABF6DBF80000000000 /* ShellScript */, + 04BFD5160000000000000000 /* Sources */, ); buildRules = ( ); @@ -312,9 +293,9 @@ 89B1AEB39734745D00000000 /* PBXTargetDependency */, 89B1AEB31FDDBD5D00000000 /* PBXTargetDependency */, ); - name = "TestSuite-One-XCTest"; - productName = "TestSuite-One-XCTest"; - productReference = 25889F7C1E33767800000000 /* TestSuite-One-XCTest.xctest */; + name = "One-XCTest"; + productName = "One-XCTest"; + productReference = 25889F7CA014E18400000000 /* One-XCTest.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; 7E9AFE6278F802E600000000 /* LogicTest */ = { @@ -335,13 +316,13 @@ productReference = 25889F7C5801CD8000000000 /* LogicTest.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; - 7E9AFE628EB1D89400000000 /* TestSuite-Two-XCTest */ = { + 7E9AFE6296A78E1400000000 /* Two-XCTest */ = { isa = PBXNativeTarget; - buildConfigurationList = F4222DEDF7C1705C00000000 /* Build configuration list for PBXNativeTarget "TestSuite-Two-XCTest" */; + buildConfigurationList = F4222DED4F59F77400000000 /* Build configuration list for PBXNativeTarget "Two-XCTest" */; buildPhases = ( 978262AB294530F400000000 /* ShellScript */, - 978262ABF6DBF80000000000 /* ShellScript */, - 04BFD5160000000000000000 /* Sources */, + 978262ABF6DBF80000000002 /* ShellScript */, + 04BFD5160000000000000002 /* Sources */, ); buildRules = ( ); @@ -349,9 +330,9 @@ 89B1AEB39734745D00000000 /* PBXTargetDependency */, 89B1AEB31FDDBD5D00000000 /* PBXTargetDependency */, ); - name = "TestSuite-Two-XCTest"; - productName = "TestSuite-Two-XCTest"; - productReference = 25889F7CCE0328AC00000000 /* TestSuite-Two-XCTest.xctest */; + name = "Two-XCTest"; + productName = "Two-XCTest"; + productReference = 25889F7C516E750000000000 /* Two-XCTest.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; 7E9AFE62BC40BFA200000000 /* _idx_ApplicationLibrary_468DE48B_ios_min10.0 */ = { @@ -370,6 +351,25 @@ productReference = 25889F7C2A3379D000000000 /* lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a */; productType = "com.apple.product-type.library.static"; }; + 7E9AFE62F7F03B1E00000000 /* Three-XCTest */ = { + isa = PBXNativeTarget; + buildConfigurationList = F4222DEDF975288C00000000 /* Build configuration list for PBXNativeTarget "Three-XCTest" */; + buildPhases = ( + 978262ABE1E5C70200000000 /* ShellScript */, + 978262ABF6DBF80000000001 /* ShellScript */, + 04BFD5160000000000000001 /* Sources */, + ); + buildRules = ( + ); + dependencies = ( + 89B1AEB39734745D00000000 /* PBXTargetDependency */, + 89B1AEB31FDDBD5D00000000 /* PBXTargetDependency */, + ); + name = "Three-XCTest"; + productName = "Three-XCTest"; + productReference = 25889F7CF16496E600000000 /* Three-XCTest.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -379,13 +379,13 @@ LastSwiftUpdateCheck = 0710; LastUpgradeCheck = 1000; TargetAttributes = { - 7E9AFE6238918F2000000000 = { + 7E9AFE6269ABCA1200000000 = { TestTargetID = 7E9AFE621FDDBD5C00000000; }; - 7E9AFE6243B8875800000000 = { + 7E9AFE6296A78E1400000000 = { TestTargetID = 7E9AFE621FDDBD5C00000000; }; - 7E9AFE628EB1D89400000000 = { + 7E9AFE62F7F03B1E00000000 = { TestTargetID = 7E9AFE621FDDBD5C00000000; }; }; @@ -400,10 +400,10 @@ mainGroup = 45D05629B56AD7F200000000 /* mainGroup */; targets = ( 7E9AFE6278F802E600000000 /* LogicTest */, + 7E9AFE6269ABCA1200000000 /* One-XCTest */, 7E9AFE621FDDBD5C00000000 /* TestApplication */, - 7E9AFE6243B8875800000000 /* TestSuite-One-XCTest */, - 7E9AFE6238918F2000000000 /* TestSuite-Three-XCTest */, - 7E9AFE628EB1D89400000000 /* TestSuite-Two-XCTest */, + 7E9AFE62F7F03B1E00000000 /* Three-XCTest */, + 7E9AFE6296A78E1400000000 /* Two-XCTest */, 01F2CBCF9734745C00000000 /* _bazel_clean_ */, 7E9AFE62BC40BFA200000000 /* _idx_ApplicationLibrary_468DE48B_ios_min10.0 */, ); @@ -549,7 +549,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D5D1BD9FD00000000 /* XCTest.m in Two */, + 952C886DA25B0A0200000000 /* XCTest.m in One */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -557,7 +557,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886DA25B0A0200000000 /* XCTest.m in One */, + 952C886D96D67B6F00000000 /* XCTest.m in Three */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -565,7 +565,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - 952C886D96D67B6F00000000 /* XCTest.m in Three */, + 952C886D5D1BD9FD00000000 /* XCTest.m in Two */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -603,7 +603,7 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image"; - BAZEL_TARGET = "//TestSuite/Two:XCTest"; + BAZEL_TARGET = "//TestSuite/One:XCTest"; BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; FRAMEWORK_SEARCH_PATHS = ""; @@ -616,12 +616,12 @@ OTHER_LDFLAGS = "--version"; OTHER_SWIFT_FLAGS = "--version"; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; - PRODUCT_NAME = XCTest; + PRODUCT_NAME = "One-XCTest"; SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; - TULSI_BUILD_PATH = TestSuite/Two; + TULSI_BUILD_PATH = TestSuite/One; TULSI_TEST_RUNNER_ONLY = YES; TULSI_XCODE_VERSION = 11.2.1.11B500; }; @@ -656,34 +656,6 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image"; - BAZEL_TARGET = "//TestSuite/One:XCTest"; - BUNDLE_LOADER = "$(TEST_HOST)"; - DEBUG_INFORMATION_FORMAT = dwarf; - FRAMEWORK_SEARCH_PATHS = ""; - GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; - HEADER_SEARCH_PATHS = ""; - INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - ONLY_ACTIVE_ARCH = YES; - OTHER_CFLAGS = "--version"; - OTHER_LDFLAGS = "--version"; - OTHER_SWIFT_FLAGS = "--version"; - PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; - PRODUCT_NAME = XCTest; - SDKROOT = iphoneos; - SWIFT_INSTALL_OBJC_HEADER = NO; - SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; - TULSI_BUILD_PATH = TestSuite/One; - TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 11.2.1.11B500; - }; - name = __TulsiTestRunner_Release; - }; - 0207AA281FC531E700000003 /* __TulsiTestRunner_Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image"; BAZEL_TARGET = "//TestSuite/Three:XCTest"; BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; @@ -697,7 +669,7 @@ OTHER_LDFLAGS = "--version"; OTHER_SWIFT_FLAGS = "--version"; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; - PRODUCT_NAME = XCTest; + PRODUCT_NAME = "Three-XCTest"; SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; @@ -708,6 +680,34 @@ }; name = __TulsiTestRunner_Release; }; + 0207AA281FC531E700000003 /* __TulsiTestRunner_Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image"; + BAZEL_TARGET = "//TestSuite/Two:XCTest"; + BUNDLE_LOADER = "$(TEST_HOST)"; + DEBUG_INFORMATION_FORMAT = dwarf; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; + HEADER_SEARCH_PATHS = ""; + INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + ONLY_ACTIVE_ARCH = YES; + OTHER_CFLAGS = "--version"; + OTHER_LDFLAGS = "--version"; + OTHER_SWIFT_FLAGS = "--version"; + PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; + PRODUCT_NAME = "Two-XCTest"; + SDKROOT = iphoneos; + SWIFT_INSTALL_OBJC_HEADER = NO; + SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; + TULSI_BUILD_PATH = TestSuite/Two; + TULSI_TEST_RUNNER_ONLY = YES; + TULSI_XCODE_VERSION = 11.2.1.11B500; + }; + name = __TulsiTestRunner_Release; + }; 0207AA281FC531E700000004 /* __TulsiTestRunner_Release */ = { isa = XCBuildConfiguration; buildSettings = { @@ -779,17 +779,17 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image"; - BAZEL_TARGET = "//TestSuite/Two:XCTest"; + BAZEL_TARGET = "//TestSuite/One:XCTest"; BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; - PRODUCT_NAME = XCTest; + PRODUCT_NAME = "One-XCTest"; SDKROOT = iphoneos; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; - TULSI_BUILD_PATH = TestSuite/Two; + TULSI_BUILD_PATH = TestSuite/One; TULSI_TEST_RUNNER_ONLY = YES; TULSI_XCODE_VERSION = 11.2.1.11B500; }; @@ -816,17 +816,17 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image"; - BAZEL_TARGET = "//TestSuite/One:XCTest"; + BAZEL_TARGET = "//TestSuite/Three:XCTest"; BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; - PRODUCT_NAME = XCTest; + PRODUCT_NAME = "Three-XCTest"; SDKROOT = iphoneos; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; - TULSI_BUILD_PATH = TestSuite/One; + TULSI_BUILD_PATH = TestSuite/Three; TULSI_TEST_RUNNER_ONLY = YES; TULSI_XCODE_VERSION = 11.2.1.11B500; }; @@ -836,17 +836,17 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image"; - BAZEL_TARGET = "//TestSuite/Three:XCTest"; + BAZEL_TARGET = "//TestSuite/Two:XCTest"; BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; - PRODUCT_NAME = XCTest; + PRODUCT_NAME = "Two-XCTest"; SDKROOT = iphoneos; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; - TULSI_BUILD_PATH = TestSuite/Three; + TULSI_BUILD_PATH = TestSuite/Two; TULSI_TEST_RUNNER_ONLY = YES; TULSI_XCODE_VERSION = 11.2.1.11B500; }; @@ -922,17 +922,17 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image"; - BAZEL_TARGET = "//TestSuite/Two:XCTest"; + BAZEL_TARGET = "//TestSuite/One:XCTest"; BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; - PRODUCT_NAME = XCTest; + PRODUCT_NAME = "One-XCTest"; SDKROOT = iphoneos; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; - TULSI_BUILD_PATH = TestSuite/Two; + TULSI_BUILD_PATH = TestSuite/One; TULSI_TEST_RUNNER_ONLY = YES; TULSI_XCODE_VERSION = 11.2.1.11B500; }; @@ -959,17 +959,17 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image"; - BAZEL_TARGET = "//TestSuite/One:XCTest"; + BAZEL_TARGET = "//TestSuite/Three:XCTest"; BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; - PRODUCT_NAME = XCTest; + PRODUCT_NAME = "Three-XCTest"; SDKROOT = iphoneos; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; - TULSI_BUILD_PATH = TestSuite/One; + TULSI_BUILD_PATH = TestSuite/Three; TULSI_TEST_RUNNER_ONLY = YES; TULSI_XCODE_VERSION = 11.2.1.11B500; }; @@ -979,17 +979,17 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image"; - BAZEL_TARGET = "//TestSuite/Three:XCTest"; + BAZEL_TARGET = "//TestSuite/Two:XCTest"; BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1"; INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; - PRODUCT_NAME = XCTest; + PRODUCT_NAME = "Two-XCTest"; SDKROOT = iphoneos; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; - TULSI_BUILD_PATH = TestSuite/Three; + TULSI_BUILD_PATH = TestSuite/Two; TULSI_TEST_RUNNER_ONLY = YES; TULSI_XCODE_VERSION = 11.2.1.11B500; }; @@ -1065,7 +1065,7 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image"; - BAZEL_TARGET = "//TestSuite/Two:XCTest"; + BAZEL_TARGET = "//TestSuite/One:XCTest"; BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; FRAMEWORK_SEARCH_PATHS = ""; @@ -1078,12 +1078,12 @@ OTHER_LDFLAGS = "--version"; OTHER_SWIFT_FLAGS = "--version"; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; - PRODUCT_NAME = XCTest; + PRODUCT_NAME = "One-XCTest"; SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; - TULSI_BUILD_PATH = TestSuite/Two; + TULSI_BUILD_PATH = TestSuite/One; TULSI_TEST_RUNNER_ONLY = YES; TULSI_XCODE_VERSION = 11.2.1.11B500; }; @@ -1118,34 +1118,6 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image"; - BAZEL_TARGET = "//TestSuite/One:XCTest"; - BUNDLE_LOADER = "$(TEST_HOST)"; - DEBUG_INFORMATION_FORMAT = dwarf; - FRAMEWORK_SEARCH_PATHS = ""; - GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; - HEADER_SEARCH_PATHS = ""; - INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - ONLY_ACTIVE_ARCH = YES; - OTHER_CFLAGS = "--version"; - OTHER_LDFLAGS = "--version"; - OTHER_SWIFT_FLAGS = "--version"; - PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; - PRODUCT_NAME = XCTest; - SDKROOT = iphoneos; - SWIFT_INSTALL_OBJC_HEADER = NO; - SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; - TULSI_BUILD_PATH = TestSuite/One; - TULSI_TEST_RUNNER_ONLY = YES; - TULSI_XCODE_VERSION = 11.2.1.11B500; - }; - name = __TulsiTestRunner_Debug; - }; - 0207AA28F23A778400000003 /* __TulsiTestRunner_Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image"; BAZEL_TARGET = "//TestSuite/Three:XCTest"; BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; @@ -1159,7 +1131,7 @@ OTHER_LDFLAGS = "--version"; OTHER_SWIFT_FLAGS = "--version"; PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; - PRODUCT_NAME = XCTest; + PRODUCT_NAME = "Three-XCTest"; SDKROOT = iphoneos; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; @@ -1170,6 +1142,34 @@ }; name = __TulsiTestRunner_Debug; }; + 0207AA28F23A778400000003 /* __TulsiTestRunner_Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image"; + BAZEL_TARGET = "//TestSuite/Two:XCTest"; + BUNDLE_LOADER = "$(TEST_HOST)"; + DEBUG_INFORMATION_FORMAT = dwarf; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; + HEADER_SEARCH_PATHS = ""; + INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + ONLY_ACTIVE_ARCH = YES; + OTHER_CFLAGS = "--version"; + OTHER_LDFLAGS = "--version"; + OTHER_SWIFT_FLAGS = "--version"; + PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests; + PRODUCT_NAME = "Two-XCTest"; + SDKROOT = iphoneos; + SWIFT_INSTALL_OBJC_HEADER = NO; + SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication"; + TULSI_BUILD_PATH = TestSuite/Two; + TULSI_TEST_RUNNER_ONLY = YES; + TULSI_XCODE_VERSION = 11.2.1.11B500; + }; + name = __TulsiTestRunner_Debug; + }; 0207AA28F23A778400000004 /* __TulsiTestRunner_Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -1246,6 +1246,16 @@ ); defaultConfigurationIsVisible = 0; }; + F4222DED4F59F77400000000 /* Build configuration list for PBXNativeTarget "Two-XCTest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 0207AA2838C3D90E00000003 /* Debug */, + 0207AA28616216BF00000003 /* Release */, + 0207AA28F23A778400000003 /* __TulsiTestRunner_Debug */, + 0207AA281FC531E700000003 /* __TulsiTestRunner_Release */, + ); + defaultConfigurationIsVisible = 0; + }; F4222DED6A5DBD9400000000 /* Build configuration list for PBXProject "TestSuiteExplicitXCTestsProject" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -1266,13 +1276,13 @@ ); defaultConfigurationIsVisible = 0; }; - F4222DEDA5985C6D00000000 /* Build configuration list for PBXNativeTarget "TestSuite-Three-XCTest" */ = { + F4222DED8D0BF21000000000 /* Build configuration list for PBXNativeTarget "One-XCTest" */ = { isa = XCConfigurationList; buildConfigurations = ( - 0207AA2838C3D90E00000003 /* Debug */, - 0207AA28616216BF00000003 /* Release */, - 0207AA28F23A778400000003 /* __TulsiTestRunner_Debug */, - 0207AA281FC531E700000003 /* __TulsiTestRunner_Release */, + 0207AA2838C3D90E00000000 /* Debug */, + 0207AA28616216BF00000000 /* Release */, + 0207AA28F23A778400000000 /* __TulsiTestRunner_Debug */, + 0207AA281FC531E700000000 /* __TulsiTestRunner_Release */, ); defaultConfigurationIsVisible = 0; }; @@ -1284,16 +1294,6 @@ ); defaultConfigurationIsVisible = 0; }; - F4222DEDCBBF3A8D00000000 /* Build configuration list for PBXNativeTarget "TestSuite-One-XCTest" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 0207AA2838C3D90E00000002 /* Debug */, - 0207AA28616216BF00000002 /* Release */, - 0207AA28F23A778400000002 /* __TulsiTestRunner_Debug */, - 0207AA281FC531E700000002 /* __TulsiTestRunner_Release */, - ); - defaultConfigurationIsVisible = 0; - }; F4222DEDE5B9C6FA00000000 /* Build configuration list for PBXNativeTarget "TestApplication" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -1304,13 +1304,13 @@ ); defaultConfigurationIsVisible = 0; }; - F4222DEDF7C1705C00000000 /* Build configuration list for PBXNativeTarget "TestSuite-Two-XCTest" */ = { + F4222DEDF975288C00000000 /* Build configuration list for PBXNativeTarget "Three-XCTest" */ = { isa = XCConfigurationList; buildConfigurations = ( - 0207AA2838C3D90E00000000 /* Debug */, - 0207AA28616216BF00000000 /* Release */, - 0207AA28F23A778400000000 /* __TulsiTestRunner_Debug */, - 0207AA281FC531E700000000 /* __TulsiTestRunner_Release */, + 0207AA2838C3D90E00000002 /* Debug */, + 0207AA28616216BF00000002 /* Release */, + 0207AA28F23A778400000002 /* __TulsiTestRunner_Debug */, + 0207AA281FC531E700000002 /* __TulsiTestRunner_Release */, ); defaultConfigurationIsVisible = 0; };
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/One-XCTest.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/One-XCTest.xcscheme new file mode 100644 index 0000000..1ebc820 --- /dev/null +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/One-XCTest.xcscheme
@@ -0,0 +1,33 @@ + +<Scheme version="1.3" LastUpgradeVersion="1000"> + <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES"> + <BuildActionEntries> + <BuildActionEntry buildForAnalyzing="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES" buildForTesting="YES"> + <BuildableReference BuildableName="One-XCTest.xctest" BlueprintName="One-XCTest" BlueprintIdentifier="7E9AFE6269ABCA1200000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> + </BuildActionEntry> + </BuildActionEntries> + </BuildAction> + <TestAction shouldUseLaunchSchemeArgsEnv="YES" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" buildConfiguration="__TulsiTestRunner_Debug"> + <Testables> + <TestableReference skipped="NO"> + <BuildableReference BuildableName="One-XCTest.xctest" BlueprintName="One-XCTest" BlueprintIdentifier="7E9AFE6269ABCA1200000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> + </TestableReference> + </Testables> + <BuildableProductRunnable runnableDebuggingMode="0"> + <BuildableReference BuildableName="One-XCTest.xctest" BlueprintName="One-XCTest" BlueprintIdentifier="7E9AFE6269ABCA1200000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> + </BuildableProductRunnable> + </TestAction> + <LaunchAction debugServiceExtension="internal" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" buildConfiguration="Debug" debugDocumentVersioning="YES" launchStyle="0" ignoresPersistentStateOnLaunch="NO" allowLocationSimulation="YES" useCustomWorkingDirectory="NO"> + <EnvironmentVariables></EnvironmentVariables> + <MacroExpansion> + <BuildableReference BuildableName="One-XCTest.xctest" BlueprintName="One-XCTest" BlueprintIdentifier="7E9AFE6269ABCA1200000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> + </MacroExpansion> + </LaunchAction> + <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" debugDocumentVersioning="YES" buildConfiguration="__TulsiTestRunner_Release"> + <MacroExpansion> + <BuildableReference BuildableName="One-XCTest.xctest" BlueprintName="One-XCTest" BlueprintIdentifier="7E9AFE6269ABCA1200000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> + </MacroExpansion> + </ProfileAction> + <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction> + <ArchiveAction revealArchiveInOrganizer="YES" buildConfiguration="Release"></ArchiveAction> +</Scheme> \ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/TestApplication.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/TestApplication.xcscheme index 9f3e9a0..af2bf88 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/TestApplication.xcscheme +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/TestApplication.xcscheme
@@ -10,13 +10,13 @@ <TestAction shouldUseLaunchSchemeArgsEnv="YES" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" buildConfiguration="__TulsiTestRunner_Debug"> <Testables> <TestableReference skipped="NO"> - <BuildableReference BuildableName="TestSuite-Two-XCTest.xctest" BlueprintName="TestSuite-Two-XCTest" BlueprintIdentifier="7E9AFE628EB1D89400000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> + <BuildableReference BuildableName="One-XCTest.xctest" BlueprintName="One-XCTest" BlueprintIdentifier="7E9AFE6269ABCA1200000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> </TestableReference> <TestableReference skipped="NO"> - <BuildableReference BuildableName="TestSuite-One-XCTest.xctest" BlueprintName="TestSuite-One-XCTest" BlueprintIdentifier="7E9AFE6243B8875800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> + <BuildableReference BuildableName="Three-XCTest.xctest" BlueprintName="Three-XCTest" BlueprintIdentifier="7E9AFE62F7F03B1E00000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> </TestableReference> <TestableReference skipped="NO"> - <BuildableReference BuildableName="TestSuite-Three-XCTest.xctest" BlueprintName="TestSuite-Three-XCTest" BlueprintIdentifier="7E9AFE6238918F2000000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> + <BuildableReference BuildableName="Two-XCTest.xctest" BlueprintName="Two-XCTest" BlueprintIdentifier="7E9AFE6296A78E1400000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> </TestableReference> </Testables> <BuildableProductRunnable runnableDebuggingMode="0">
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/TestSuite-One-XCTest.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/TestSuite-One-XCTest.xcscheme deleted file mode 100644 index 620dcb1..0000000 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/TestSuite-One-XCTest.xcscheme +++ /dev/null
@@ -1,33 +0,0 @@ - -<Scheme version="1.3" LastUpgradeVersion="1000"> - <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES"> - <BuildActionEntries> - <BuildActionEntry buildForAnalyzing="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES" buildForTesting="YES"> - <BuildableReference BuildableName="TestSuite-One-XCTest.xctest" BlueprintName="TestSuite-One-XCTest" BlueprintIdentifier="7E9AFE6243B8875800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> - </BuildActionEntry> - </BuildActionEntries> - </BuildAction> - <TestAction shouldUseLaunchSchemeArgsEnv="YES" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" buildConfiguration="__TulsiTestRunner_Debug"> - <Testables> - <TestableReference skipped="NO"> - <BuildableReference BuildableName="TestSuite-One-XCTest.xctest" BlueprintName="TestSuite-One-XCTest" BlueprintIdentifier="7E9AFE6243B8875800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> - </TestableReference> - </Testables> - <BuildableProductRunnable runnableDebuggingMode="0"> - <BuildableReference BuildableName="TestSuite-One-XCTest.xctest" BlueprintName="TestSuite-One-XCTest" BlueprintIdentifier="7E9AFE6243B8875800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> - </BuildableProductRunnable> - </TestAction> - <LaunchAction debugServiceExtension="internal" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" buildConfiguration="Debug" debugDocumentVersioning="YES" launchStyle="0" ignoresPersistentStateOnLaunch="NO" allowLocationSimulation="YES" useCustomWorkingDirectory="NO"> - <EnvironmentVariables></EnvironmentVariables> - <MacroExpansion> - <BuildableReference BuildableName="TestSuite-One-XCTest.xctest" BlueprintName="TestSuite-One-XCTest" BlueprintIdentifier="7E9AFE6243B8875800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> - </MacroExpansion> - </LaunchAction> - <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" debugDocumentVersioning="YES" buildConfiguration="__TulsiTestRunner_Release"> - <MacroExpansion> - <BuildableReference BuildableName="TestSuite-One-XCTest.xctest" BlueprintName="TestSuite-One-XCTest" BlueprintIdentifier="7E9AFE6243B8875800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> - </MacroExpansion> - </ProfileAction> - <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction> - <ArchiveAction revealArchiveInOrganizer="YES" buildConfiguration="Release"></ArchiveAction> -</Scheme> \ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/TestSuite-Three-XCTest.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/TestSuite-Three-XCTest.xcscheme deleted file mode 100644 index 315bbe1..0000000 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/TestSuite-Three-XCTest.xcscheme +++ /dev/null
@@ -1,33 +0,0 @@ - -<Scheme version="1.3" LastUpgradeVersion="1000"> - <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES"> - <BuildActionEntries> - <BuildActionEntry buildForAnalyzing="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES" buildForTesting="YES"> - <BuildableReference BuildableName="TestSuite-Three-XCTest.xctest" BlueprintName="TestSuite-Three-XCTest" BlueprintIdentifier="7E9AFE6238918F2000000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> - </BuildActionEntry> - </BuildActionEntries> - </BuildAction> - <TestAction shouldUseLaunchSchemeArgsEnv="YES" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" buildConfiguration="__TulsiTestRunner_Debug"> - <Testables> - <TestableReference skipped="NO"> - <BuildableReference BuildableName="TestSuite-Three-XCTest.xctest" BlueprintName="TestSuite-Three-XCTest" BlueprintIdentifier="7E9AFE6238918F2000000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> - </TestableReference> - </Testables> - <BuildableProductRunnable runnableDebuggingMode="0"> - <BuildableReference BuildableName="TestSuite-Three-XCTest.xctest" BlueprintName="TestSuite-Three-XCTest" BlueprintIdentifier="7E9AFE6238918F2000000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> - </BuildableProductRunnable> - </TestAction> - <LaunchAction debugServiceExtension="internal" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" buildConfiguration="Debug" debugDocumentVersioning="YES" launchStyle="0" ignoresPersistentStateOnLaunch="NO" allowLocationSimulation="YES" useCustomWorkingDirectory="NO"> - <EnvironmentVariables></EnvironmentVariables> - <MacroExpansion> - <BuildableReference BuildableName="TestSuite-Three-XCTest.xctest" BlueprintName="TestSuite-Three-XCTest" BlueprintIdentifier="7E9AFE6238918F2000000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> - </MacroExpansion> - </LaunchAction> - <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" debugDocumentVersioning="YES" buildConfiguration="__TulsiTestRunner_Release"> - <MacroExpansion> - <BuildableReference BuildableName="TestSuite-Three-XCTest.xctest" BlueprintName="TestSuite-Three-XCTest" BlueprintIdentifier="7E9AFE6238918F2000000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> - </MacroExpansion> - </ProfileAction> - <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction> - <ArchiveAction revealArchiveInOrganizer="YES" buildConfiguration="Release"></ArchiveAction> -</Scheme> \ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/TestSuite-Two-XCTest.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/TestSuite-Two-XCTest.xcscheme deleted file mode 100644 index 626986a..0000000 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/TestSuite-Two-XCTest.xcscheme +++ /dev/null
@@ -1,33 +0,0 @@ - -<Scheme version="1.3" LastUpgradeVersion="1000"> - <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES"> - <BuildActionEntries> - <BuildActionEntry buildForAnalyzing="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES" buildForTesting="YES"> - <BuildableReference BuildableName="TestSuite-Two-XCTest.xctest" BlueprintName="TestSuite-Two-XCTest" BlueprintIdentifier="7E9AFE628EB1D89400000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> - </BuildActionEntry> - </BuildActionEntries> - </BuildAction> - <TestAction shouldUseLaunchSchemeArgsEnv="YES" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" buildConfiguration="__TulsiTestRunner_Debug"> - <Testables> - <TestableReference skipped="NO"> - <BuildableReference BuildableName="TestSuite-Two-XCTest.xctest" BlueprintName="TestSuite-Two-XCTest" BlueprintIdentifier="7E9AFE628EB1D89400000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> - </TestableReference> - </Testables> - <BuildableProductRunnable runnableDebuggingMode="0"> - <BuildableReference BuildableName="TestSuite-Two-XCTest.xctest" BlueprintName="TestSuite-Two-XCTest" BlueprintIdentifier="7E9AFE628EB1D89400000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> - </BuildableProductRunnable> - </TestAction> - <LaunchAction debugServiceExtension="internal" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" buildConfiguration="Debug" debugDocumentVersioning="YES" launchStyle="0" ignoresPersistentStateOnLaunch="NO" allowLocationSimulation="YES" useCustomWorkingDirectory="NO"> - <EnvironmentVariables></EnvironmentVariables> - <MacroExpansion> - <BuildableReference BuildableName="TestSuite-Two-XCTest.xctest" BlueprintName="TestSuite-Two-XCTest" BlueprintIdentifier="7E9AFE628EB1D89400000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> - </MacroExpansion> - </LaunchAction> - <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" debugDocumentVersioning="YES" buildConfiguration="__TulsiTestRunner_Release"> - <MacroExpansion> - <BuildableReference BuildableName="TestSuite-Two-XCTest.xctest" BlueprintName="TestSuite-Two-XCTest" BlueprintIdentifier="7E9AFE628EB1D89400000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> - </MacroExpansion> - </ProfileAction> - <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction> - <ArchiveAction revealArchiveInOrganizer="YES" buildConfiguration="Release"></ArchiveAction> -</Scheme> \ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/Three-XCTest.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/Three-XCTest.xcscheme new file mode 100644 index 0000000..9d4393d --- /dev/null +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/Three-XCTest.xcscheme
@@ -0,0 +1,33 @@ + +<Scheme version="1.3" LastUpgradeVersion="1000"> + <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES"> + <BuildActionEntries> + <BuildActionEntry buildForAnalyzing="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES" buildForTesting="YES"> + <BuildableReference BuildableName="Three-XCTest.xctest" BlueprintName="Three-XCTest" BlueprintIdentifier="7E9AFE62F7F03B1E00000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> + </BuildActionEntry> + </BuildActionEntries> + </BuildAction> + <TestAction shouldUseLaunchSchemeArgsEnv="YES" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" buildConfiguration="__TulsiTestRunner_Debug"> + <Testables> + <TestableReference skipped="NO"> + <BuildableReference BuildableName="Three-XCTest.xctest" BlueprintName="Three-XCTest" BlueprintIdentifier="7E9AFE62F7F03B1E00000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> + </TestableReference> + </Testables> + <BuildableProductRunnable runnableDebuggingMode="0"> + <BuildableReference BuildableName="Three-XCTest.xctest" BlueprintName="Three-XCTest" BlueprintIdentifier="7E9AFE62F7F03B1E00000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> + </BuildableProductRunnable> + </TestAction> + <LaunchAction debugServiceExtension="internal" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" buildConfiguration="Debug" debugDocumentVersioning="YES" launchStyle="0" ignoresPersistentStateOnLaunch="NO" allowLocationSimulation="YES" useCustomWorkingDirectory="NO"> + <EnvironmentVariables></EnvironmentVariables> + <MacroExpansion> + <BuildableReference BuildableName="Three-XCTest.xctest" BlueprintName="Three-XCTest" BlueprintIdentifier="7E9AFE62F7F03B1E00000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> + </MacroExpansion> + </LaunchAction> + <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" debugDocumentVersioning="YES" buildConfiguration="__TulsiTestRunner_Release"> + <MacroExpansion> + <BuildableReference BuildableName="Three-XCTest.xctest" BlueprintName="Three-XCTest" BlueprintIdentifier="7E9AFE62F7F03B1E00000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> + </MacroExpansion> + </ProfileAction> + <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction> + <ArchiveAction revealArchiveInOrganizer="YES" buildConfiguration="Release"></ArchiveAction> +</Scheme> \ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/Two-XCTest.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/Two-XCTest.xcscheme new file mode 100644 index 0000000..14b2265 --- /dev/null +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/Two-XCTest.xcscheme
@@ -0,0 +1,33 @@ + +<Scheme version="1.3" LastUpgradeVersion="1000"> + <BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES"> + <BuildActionEntries> + <BuildActionEntry buildForAnalyzing="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES" buildForTesting="YES"> + <BuildableReference BuildableName="Two-XCTest.xctest" BlueprintName="Two-XCTest" BlueprintIdentifier="7E9AFE6296A78E1400000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> + </BuildActionEntry> + </BuildActionEntries> + </BuildAction> + <TestAction shouldUseLaunchSchemeArgsEnv="YES" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" buildConfiguration="__TulsiTestRunner_Debug"> + <Testables> + <TestableReference skipped="NO"> + <BuildableReference BuildableName="Two-XCTest.xctest" BlueprintName="Two-XCTest" BlueprintIdentifier="7E9AFE6296A78E1400000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> + </TestableReference> + </Testables> + <BuildableProductRunnable runnableDebuggingMode="0"> + <BuildableReference BuildableName="Two-XCTest.xctest" BlueprintName="Two-XCTest" BlueprintIdentifier="7E9AFE6296A78E1400000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> + </BuildableProductRunnable> + </TestAction> + <LaunchAction debugServiceExtension="internal" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" buildConfiguration="Debug" debugDocumentVersioning="YES" launchStyle="0" ignoresPersistentStateOnLaunch="NO" allowLocationSimulation="YES" useCustomWorkingDirectory="NO"> + <EnvironmentVariables></EnvironmentVariables> + <MacroExpansion> + <BuildableReference BuildableName="Two-XCTest.xctest" BlueprintName="Two-XCTest" BlueprintIdentifier="7E9AFE6296A78E1400000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> + </MacroExpansion> + </LaunchAction> + <ProfileAction useCustomWorkingDirectory="NO" shouldUseLaunchSchemeArgsEnv="YES" debugDocumentVersioning="YES" buildConfiguration="__TulsiTestRunner_Release"> + <MacroExpansion> + <BuildableReference BuildableName="Two-XCTest.xctest" BlueprintName="Two-XCTest" BlueprintIdentifier="7E9AFE6296A78E1400000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> + </MacroExpansion> + </ProfileAction> + <AnalyzeAction buildConfiguration="Debug"></AnalyzeAction> + <ArchiveAction revealArchiveInOrganizer="YES" buildConfiguration="Release"></ArchiveAction> +</Scheme> \ No newline at end of file
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/explicit_XCTests_Suite.xcscheme b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/explicit_XCTests_Suite.xcscheme index edbe032..88b3857 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/explicit_XCTests_Suite.xcscheme +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcshareddata/xcschemes/explicit_XCTests_Suite.xcscheme
@@ -10,16 +10,16 @@ <TestAction shouldUseLaunchSchemeArgsEnv="YES" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" buildConfiguration="__TulsiTestRunner_Debug"> <Testables> <TestableReference skipped="NO"> - <BuildableReference BuildableName="TestSuite-Three-XCTest.xctest" BlueprintName="TestSuite-Three-XCTest" BlueprintIdentifier="7E9AFE6238918F2000000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> - </TestableReference> - <TestableReference skipped="NO"> - <BuildableReference BuildableName="TestSuite-Two-XCTest.xctest" BlueprintName="TestSuite-Two-XCTest" BlueprintIdentifier="7E9AFE628EB1D89400000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> + <BuildableReference BuildableName="Three-XCTest.xctest" BlueprintName="Three-XCTest" BlueprintIdentifier="7E9AFE62F7F03B1E00000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> </TestableReference> <TestableReference skipped="NO"> <BuildableReference BuildableName="LogicTest.xctest" BlueprintName="LogicTest" BlueprintIdentifier="7E9AFE6278F802E600000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> </TestableReference> <TestableReference skipped="NO"> - <BuildableReference BuildableName="TestSuite-One-XCTest.xctest" BlueprintName="TestSuite-One-XCTest" BlueprintIdentifier="7E9AFE6243B8875800000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> + <BuildableReference BuildableName="One-XCTest.xctest" BlueprintName="One-XCTest" BlueprintIdentifier="7E9AFE6269ABCA1200000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> + </TestableReference> + <TestableReference skipped="NO"> + <BuildableReference BuildableName="Two-XCTest.xctest" BlueprintName="Two-XCTest" BlueprintIdentifier="7E9AFE6296A78E1400000000" ReferencedContainer="container:TestSuiteExplicitXCTestsProject.xcodeproj" BuildableIdentifier="primary"></BuildableReference> </TestableReference> </Testables> <MacroExpansion>
diff --git a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist index 39776d9..fefaa27 100644 --- a/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/src/TulsiGeneratorIntegrationTests/Resources/GoldenProjects/TestSuiteExplicitXCTestsProject.xcodeproj/xcuserdata/_TEST_USER_.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -9,22 +9,22 @@ <key>isShown</key> <true/> </dict> + <key>One-XCTest.xcscheme_^#shared#^_</key> + <dict> + <key>isShown</key> + <true/> + </dict> <key>TestApplication.xcscheme_^#shared#^_</key> <dict> <key>isShown</key> <true/> </dict> - <key>TestSuite-One-XCTest.xcscheme_^#shared#^_</key> + <key>Three-XCTest.xcscheme_^#shared#^_</key> <dict> <key>isShown</key> <true/> </dict> - <key>TestSuite-Three-XCTest.xcscheme_^#shared#^_</key> - <dict> - <key>isShown</key> - <true/> - </dict> - <key>TestSuite-Two-XCTest.xcscheme_^#shared#^_</key> + <key>Two-XCTest.xcscheme_^#shared#^_</key> <dict> <key>isShown</key> <true/>
diff --git a/src/TulsiGeneratorIntegrationTests/update_goldens.sh b/src/TulsiGeneratorIntegrationTests/update_goldens.sh index ebfd320..852c4d1 100755 --- a/src/TulsiGeneratorIntegrationTests/update_goldens.sh +++ b/src/TulsiGeneratorIntegrationTests/update_goldens.sh
@@ -26,7 +26,8 @@ readonly OUTPUT_DIR="${TESTLOGS_DIR}/${TEST_PATH}" bazel test //src/TulsiGeneratorIntegrationTests:EndToEndGenerationTests \ - --xcode_version="$XCODE_VERSION" --nocheck_visibility && : + --xcode_version="$XCODE_VERSION" --nocheck_visibility \ + --use_top_level_targets_for_symlinks && : bazel_exit_code=$?
diff --git a/src/TulsiGeneratorTests/PBXTargetGeneratorTests.swift b/src/TulsiGeneratorTests/PBXTargetGeneratorTests.swift index 4a55869..0748e57 100644 --- a/src/TulsiGeneratorTests/PBXTargetGeneratorTests.swift +++ b/src/TulsiGeneratorTests/PBXTargetGeneratorTests.swift
@@ -193,7 +193,7 @@ func testGenerateBazelCleanTargetAppliesToRulesAddedBeforeAndAfter() { do { - try targetGenerator.generateBuildTargetsForRuleEntries( + _ = try targetGenerator.generateBuildTargetsForRuleEntries( [makeTestRuleEntry("before", type: "ios_application", productType: .Application)], ruleEntryMap: RuleEntryMap()) } catch let e as NSError { @@ -203,7 +203,7 @@ targetGenerator.generateBazelCleanTarget("scriptPath") do { - try targetGenerator.generateBuildTargetsForRuleEntries( + _ = try targetGenerator.generateBuildTargetsForRuleEntries( [makeTestRuleEntry("after", type: "ios_application", productType: .Application)], ruleEntryMap: RuleEntryMap()) } catch let e as NSError { @@ -349,7 +349,7 @@ func testGenerateTargetsForRuleEntriesWithNoEntries() { do { - try targetGenerator.generateBuildTargetsForRuleEntries([], ruleEntryMap: RuleEntryMap()) + _ = try targetGenerator.generateBuildTargetsForRuleEntries([], ruleEntryMap: RuleEntryMap()) } catch let e as NSError { XCTFail("Failed to generate build targets with error \(e.localizedDescription)") } @@ -371,7 +371,7 @@ ]) do { - try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) + _ = try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) } catch let e as NSError { XCTFail("Failed to generate build targets with error \(e.localizedDescription)") } @@ -487,7 +487,7 @@ ]) do { - try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) + _ = try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) } catch let e as NSError { XCTFail("Failed to generate build targets with error \(e.localizedDescription)") } @@ -599,7 +599,7 @@ ]) do { - try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) + _ = try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) } catch let e as NSError { XCTFail("Failed to generate build targets with error \(e.localizedDescription)") } @@ -715,7 +715,7 @@ ]) do { - try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) + _ = try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) } catch let e as NSError { XCTFail("Failed to generate build targets with error \(e.localizedDescription)") } @@ -834,7 +834,7 @@ ]) do { - try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) + _ = try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) } catch let e as NSError { XCTFail("Failed to generate build targets with error \(e.localizedDescription)") } @@ -939,7 +939,7 @@ ]) do { - try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) + _ = try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) } catch let e as NSError { XCTFail("Failed to generate build targets with error \(e.localizedDescription)") } @@ -1008,7 +1008,7 @@ ]) do { - try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) + _ = try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) } catch let e as NSError { XCTFail("Failed to generate build targets with error \(e.localizedDescription)") } @@ -1095,7 +1095,7 @@ testRule, ]) do { - try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) + _ = try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) } catch let e as NSError { XCTFail("Failed to generate build targets with error \(e.localizedDescription)") } @@ -1216,7 +1216,7 @@ ]) do { - try targetGenerator.generateBuildTargetsForRuleEntries( + _ = try targetGenerator.generateBuildTargetsForRuleEntries( [testRuleEntry, testHostRuleEntry], ruleEntryMap: ruleEntryMap) } catch let e as NSError { @@ -1303,7 +1303,7 @@ ]) do { - try targetGenerator.generateBuildTargetsForRuleEntries( + _ = try targetGenerator.generateBuildTargetsForRuleEntries( [testRuleEntry, testHostRuleEntry], ruleEntryMap: ruleEntryMap) } catch let e as NSError { @@ -1391,7 +1391,7 @@ testRule, ]) do { - try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) + _ = try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) } catch let e as NSError { XCTFail("Failed to generate build targets with error \(e.localizedDescription)") } @@ -1532,7 +1532,7 @@ test2Rule, ]) do { - try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) + _ = try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) } catch let e as NSError { XCTFail("Failed to generate build targets with error \(e.localizedDescription)") } @@ -1567,7 +1567,7 @@ sourceFiles: testSources, productType: .Application) do { - try targetGenerator.generateBuildTargetsForRuleEntries( + _ = try targetGenerator.generateBuildTargetsForRuleEntries( [testRule], ruleEntryMap: RuleEntryMap()) } catch let e as NSError { XCTFail("Failed to generate build targets with error \(e.localizedDescription)") @@ -1634,7 +1634,7 @@ ]) do { - try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) + _ = try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) } catch let e as NSError { XCTFail("Failed to generate build targets with error \(e.localizedDescription)") } @@ -1651,12 +1651,12 @@ "BAZEL_TARGET": "test/test1:\(targetName)", "DEBUG_INFORMATION_FORMAT": "dwarf", "INFOPLIST_FILE": stubPlistPaths.defaultStub, - "PRODUCT_NAME": "test-test1-SameName", + "PRODUCT_NAME": "test1-SameName", "SDKROOT": "iphoneos", "TULSI_BUILD_PATH": rule1BuildPath, ] let expectedTarget = TargetDefinition( - name: "test-test1-SameName", + name: "test1-SameName", buildConfigurations: [ BuildConfigurationDefinition( name: "Debug", @@ -1687,12 +1687,12 @@ "BAZEL_TARGET": "test/test2:\(targetName)", "DEBUG_INFORMATION_FORMAT": "dwarf", "INFOPLIST_FILE": stubPlistPaths.defaultStub, - "PRODUCT_NAME": "test-test2-SameName", + "PRODUCT_NAME": "test2-SameName", "SDKROOT": "iphoneos", "TULSI_BUILD_PATH": rule2BuildPath, ] let expectedTarget = TargetDefinition( - name: "test-test2-SameName", + name: "test2-SameName", buildConfigurations: [ BuildConfigurationDefinition( name: "Debug", @@ -1733,7 +1733,7 @@ ]) do { - try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) + _ = try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) } catch let e as NSError { XCTFail("Failed to generate build targets with error \(e.localizedDescription)") } @@ -1797,7 +1797,7 @@ ]) do { - try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) + _ = try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) } catch let e as NSError { XCTFail("Failed to generate build targets with error \(e.localizedDescription)") } @@ -1814,7 +1814,7 @@ "BAZEL_TARGET": buildTarget, "DEBUG_INFORMATION_FORMAT": "dwarf", "INFOPLIST_FILE": stubPlistPaths.defaultStub, - "PRODUCT_NAME": bundleName, + "PRODUCT_NAME": targetName, "SDKROOT": "iphoneos", "TULSI_BUILD_PATH": buildPath, ] @@ -1889,7 +1889,7 @@ ]) do { - try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) + _ = try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) } catch let e as NSError { XCTFail("Failed to generate build targets with error \(e.localizedDescription)") } @@ -2058,7 +2058,7 @@ ]) do { - try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) + _ = try targetGenerator.generateBuildTargetsForRuleEntries(rules, ruleEntryMap: RuleEntryMap()) } catch let e as NSError { XCTFail("Failed to generate build targets with error \(e.localizedDescription)") } @@ -2689,7 +2689,7 @@ let ruleEntryMap = makeRuleEntryMap(withRuleEntries: [swiftLibraryRule]) do { - try targetGenerator.generateBuildTargetsForRuleEntries( + _ = try targetGenerator.generateBuildTargetsForRuleEntries( [testRule], ruleEntryMap: ruleEntryMap) } catch let e as NSError {
diff --git a/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift b/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift index be51cf9..6bf636c 100644 --- a/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift +++ b/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift
@@ -613,18 +613,21 @@ func generateBuildTargetsForRuleEntries( _ ruleEntries: Set<RuleEntry>, ruleEntryMap: RuleEntryMap - ) throws { + ) throws -> [BuildLabel: PBXNativeTarget] { // This works as this file only tests native targets that don't have multiple configurations. let namedRuleEntries = ruleEntries.map { (e: RuleEntry) -> (String, RuleEntry) in return (e.label.asFullPBXTargetName!, e) } + var targetsByLabel = [BuildLabel: PBXNativeTarget]() var testTargetLinkages = [(PBXTarget, BuildLabel)]() for (name, entry) in namedRuleEntries { let target = project.createNativeTarget( name, deploymentTarget: entry.deploymentTarget, targetType: entry.pbxTargetType!) + targetsByLabel[entry.label] = target + if let hostLabelString = entry.attributes[.test_host] as? String { let hostLabel = BuildLabel(hostLabelString) @@ -636,5 +639,6 @@ let hostTarget = project.targetByName(testHostLabel.asFullPBXTargetName!) as! PBXNativeTarget project.linkTestTarget(testTarget, toHostTarget: hostTarget) } + return targetsByLabel } }