Update tulsi so that it works with {platform}_{unit,ui}_test rules.
PiperOrigin-RevId: 245942523
diff --git a/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl b/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl
index 8aff559..8f995db 100644
--- a/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl
+++ b/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl
@@ -54,7 +54,6 @@
"srcs", # To propagate down onto rules which generate source files.
"tests", # for test_suite when the --noexpand_test_suites flag is used.
"_implicit_tests", # test_suites without a `tests` attr have an '$implicit_tests' attr instead.
- "test_bundle",
"test_host",
"additional_contents", # macos_application can specify a dict with supported rules as keys.
# Special attribute name which serves as an escape hatch intended for custom
@@ -738,7 +737,6 @@
datamodels = datamodels,
supporting_files = supporting_files,
test_host = _get_label_attr(rule_attr, "test_host.label"),
- test_bundle = _get_label_attr(rule_attr, "test_bundle.label"),
)
# Inheritable attributes are pulled up through dependencies of type 'binary'
diff --git a/src/TulsiGenerator/RuleEntry.swift b/src/TulsiGenerator/RuleEntry.swift
index 6f3c229..9918a24 100644
--- a/src/TulsiGenerator/RuleEntry.swift
+++ b/src/TulsiGenerator/RuleEntry.swift
@@ -165,10 +165,7 @@
// handling in the generated Xcode project. For example, asset_catalog, storyboard, and xibs
// attributes all end up as supporting_files.
case supporting_files
- // For the apple_unit_test and apple_ui_test rules, contains a label reference to the .xctest
- // bundle packaging target.
- case test_bundle
- // For the apple_unit_test and apple_ui_test rules, contains a label reference to the
+ // For the {platform}_unit_test and {platform}_ui_test rules, contains a label reference to the
// ios_application target to be used as the test host when running the tests.
case test_host
}
diff --git a/src/TulsiGeneratorIntegrationTests/AspectTests.swift b/src/TulsiGeneratorIntegrationTests/AspectTests.swift
index d2deb1c..735dfc3 100644
--- a/src/TulsiGeneratorIntegrationTests/AspectTests.swift
+++ b/src/TulsiGeneratorIntegrationTests/AspectTests.swift
@@ -114,10 +114,6 @@
.hasTestHost("//tulsi_test:Application")
.hasDeploymentTarget(DeploymentTarget(platform: .ios, osVersion: "10.0"))
.dependsOn("//tulsi_test:Application")
- .dependsOn("//tulsi_test:XCTest_test_bundle")
-
- checker.assertThat("//tulsi_test:XCTest_test_bundle")
- .dependsOn("//tulsi_test:Application")
.dependsOn("//tulsi_test:TestLibrary")
}
@@ -308,10 +304,6 @@
checker.assertThat("//tulsi_test:XCTest")
.hasTestHost("//tulsi_test:Application")
.dependsOn("//tulsi_test:Application")
- .dependsOn("//tulsi_test:XCTest_test_bundle")
-
- checker.assertThat("//tulsi_test:XCTest_test_bundle")
- .dependsOn("//tulsi_test:Application")
.dependsOn("//tulsi_test:XCTest_test_binary")
checker.assertThat("//tulsi_test:XCTest_test_binary")
@@ -340,7 +332,8 @@
.hasTestHost("//tulsi_test:Application")
.hasDeploymentTarget(DeploymentTarget(platform: .ios, osVersion: "10.0"))
.dependsOn("//tulsi_test:Application")
- .dependsOn("//tulsi_test:XCTest_test_bundle")
+ .dependsOn("//tulsi_test:Library")
+ .dependsOn("//tulsi_test:TestLibrary")
checker.assertThat("//tulsi_test:ApplicationLibrary")
.dependsOn("//tulsi_test:CoreDataResources")
@@ -348,11 +341,6 @@
.dependsOn("//tulsi_test:ObjCFramework")
.dependsOn("//tulsi_test:SrcGenerator")
- checker.assertThat("//tulsi_test:XCTest_test_bundle")
- .dependsOn("//tulsi_test:Application")
- .dependsOn("//tulsi_test:Library")
- .dependsOn("//tulsi_test:TestLibrary")
-
checker.assertThat("//tulsi_test:Library")
.hasSources(["tulsi_test/LibrarySources/srcs/src1.m",
"tulsi_test/LibrarySources/srcs/src2.m",
diff --git a/src/TulsiGeneratorIntegrationTests/EndToEndGenerationTests.swift b/src/TulsiGeneratorIntegrationTests/EndToEndGenerationTests.swift
index 9e37474..b91bf39 100644
--- a/src/TulsiGeneratorIntegrationTests/EndToEndGenerationTests.swift
+++ b/src/TulsiGeneratorIntegrationTests/EndToEndGenerationTests.swift
@@ -41,7 +41,7 @@
type: "ios_application",
linkedTargetLabels: []),
RuleInfo(label: BuildLabel("//\(testDir):XCTest"),
- type: "apple_unit_test",
+ type: "ios_unit_test",
linkedTargetLabels: hostLabels)]
let additionalFilePaths = ["\(testDir)/BUILD"]
@@ -187,7 +187,7 @@
type: "ios_application",
linkedTargetLabels: []),
RuleInfo(label: BuildLabel("//\(testDir):XCTest"),
- type: "apple_unit_test",
+ type: "ios_unit_test",
linkedTargetLabels: hostLabels)]
let additionalFilePaths = ["\(testDir)/BUILD"]
@@ -324,13 +324,13 @@
let uiTestsLabel = BuildLabel("//\(testDir):UITests")
let hostLabels = Set<BuildLabel>([appLabel])
let buildTargets = [RuleInfo(label: unitTestsLabel,
- type: "apple_unit_test",
+ type: "macos_unit_test",
linkedTargetLabels: hostLabels),
RuleInfo(label: unitTestsNoHostLabel,
- type: "apple_unit_test",
+ type: "macos_unit_test",
linkedTargetLabels: []),
RuleInfo(label: uiTestsLabel,
- type: "apple_ui_test",
+ type: "macos_ui_test",
linkedTargetLabels: hostLabels)]
let additionalFilePaths = ["\(testDir)/BUILD"]
diff --git a/src/TulsiGeneratorIntegrationTests/QueryTests.swift b/src/TulsiGeneratorIntegrationTests/QueryTests.swift
index 8fef8eb..9e9acb3 100644
--- a/src/TulsiGeneratorIntegrationTests/QueryTests.swift
+++ b/src/TulsiGeneratorIntegrationTests/QueryTests.swift
@@ -61,7 +61,7 @@
.hasNoDependencies()
checker.assertThat("//tulsi_test:XCTest")
- .hasType("apple_unit_test")
+ .hasType("ios_unit_test")
.hasExactlyOneLinkedTargetLabel(BuildLabel("//tulsi_test:Application"))
.hasNoDependencies()
@@ -154,7 +154,7 @@
.hasNoDependencies()
checker.assertThat("//tulsi_complex_test:XCTest")
- .hasType("apple_unit_test")
+ .hasType("ios_unit_test")
.hasExactlyOneLinkedTargetLabel(BuildLabel("//tulsi_complex_test:Application"))
.hasNoDependencies()
}
diff --git a/src/TulsiGeneratorTests/PBXTargetGeneratorTests.swift b/src/TulsiGeneratorTests/PBXTargetGeneratorTests.swift
index d4c1b4b..7ffaf03 100644
--- a/src/TulsiGeneratorTests/PBXTargetGeneratorTests.swift
+++ b/src/TulsiGeneratorTests/PBXTargetGeneratorTests.swift
@@ -405,7 +405,7 @@
}
func testGenerateTargetsForLinkedRuleEntriesWithNoSourcesAndSkylarkUnitTest() {
- checkGenerateTargetsForLinkedRuleEntriesWithNoSources("apple_unit_test",
+ checkGenerateTargetsForLinkedRuleEntriesWithNoSources("ios_unit_test",
testProductType: .UnitTest,
testHostAttributeName: "test_host")
}
@@ -522,7 +522,7 @@
}
func testGenerateTargetsForLinkedRuleEntriesWithNoSourcesAndSkylarkUITest() {
- let testRuleType = "apple_ui_test"
+ let testRuleType = "ios_ui_test"
let testHostAttributeName = "test_host"
let rule1BuildPath = "test/app"
let rule1TargetName = "TestApplication"
@@ -632,7 +632,7 @@
}
func testGenerateTargetsForLinkedRuleEntriesWithNoSourcesMacOSUnitTests() {
- let testRuleType = "apple_unit_test"
+ let testRuleType = "ios_unit_test"
let testHostAttributeName = "test_host"
let rule1BuildPath = "test/app"
let rule1TargetName = "TestApplication"
@@ -748,7 +748,7 @@
}
func testGenerateTargetsForLinkedRuleEntriesWithNoSourcesMacOSUITests() {
- let testRuleType = "apple_ui_test"
+ let testRuleType = "ios_ui_test"
let testHostAttributeName = "test_host"
let rule1BuildPath = "test/app"
let rule1TargetName = "TestApplication"
@@ -863,7 +863,7 @@
}
func testGenerateTargetWithNoSourcesNoHostMacOSUnitTests() {
- let testRuleType = "apple_unit_test"
+ let testRuleType = "ios_unit_test"
let rule1BuildPath = "test/testbundle"
let rule1TargetName = "TestBundle"
let rule1BuildTarget = "\(rule1BuildPath):\(rule1TargetName)"
@@ -929,7 +929,7 @@
}
func testGenerateTargetWithSourcesNoHostMacOSUnitTests() {
- let testRuleType = "apple_unit_test"
+ let testRuleType = "ios_unit_test"
let rule1BuildPath = "test/testbundle"
let rule1TargetName = "TestBundle"
let rule1BuildTarget = "\(rule1BuildPath):\(rule1TargetName)"
@@ -999,7 +999,7 @@
}
func testGenerateTargetsForLinkedRuleEntriesWithSourcesWithSkylarkUnitTest() {
- checkGenerateTargetsForLinkedRuleEntriesWithSources("apple_unit_test",
+ checkGenerateTargetsForLinkedRuleEntriesWithSources("ios_unit_test",
testProductType: .UnitTest,
testHostAttributeName: "test_host")
}
@@ -1119,29 +1119,24 @@
func testGenerateTestTargetWithObjectiveCSources() {
let testRuleTargetName = "Tests"
- let testRuleType = "apple_unit_test"
+ let testRuleType = "ios_unit_test"
let testHostTargetName = "App"
let testRulePackage = "test/app"
let testSources = ["test/app/Tests.m"]
let objcLibraryRuleEntry = makeTestRuleEntry("\(testRulePackage):ObjcLib",
type: "objc_library",
sourceFiles: testSources)
- let testBundleRuleEntry = makeTestRuleEntry("\(testRulePackage):Tests_test_bundle",
- type: "ios_test_bundle",
- dependencies: Set([BuildLabel(objcLibraryRuleEntry.label.value)]))
let testHostRuleEntry = makeTestRuleEntry("\(testRulePackage):\(testHostTargetName)",
type: "ios_application", productType: .Application)
let testRuleEntry = makeTestRuleEntry("\(testRulePackage):\(testRuleTargetName)",
type: "\(testRuleType)",
- attributes: ["test_bundle": testBundleRuleEntry.label.value as AnyObject,
- "test_host": testHostRuleEntry.label.value as AnyObject],
+ attributes: ["test_host": testHostRuleEntry.label.value as AnyObject],
sourceFiles: testSources,
productType: .UnitTest,
platformType: "ios",
osDeploymentTarget: "8.0")
let ruleEntryMap = makeRuleEntryMap(withRuleEntries: [objcLibraryRuleEntry,
- testBundleRuleEntry,
testHostRuleEntry,
testRuleEntry])
@@ -1201,22 +1196,18 @@
func testGenerateTestTargetWithSwiftSources() {
let testRuleTargetName = "Tests"
- let testRuleType = "apple_unit_test"
+ let testRuleType = "ios_unit_test"
let testHostTargetName = "App"
let testRulePackage = "test/app"
let testSources = ["test/app/Tests.swift"]
let swiftLibraryRuleEntry = makeTestRuleEntry("\(testRulePackage):SwiftLib",
type: "swift_library",
sourceFiles: testSources)
- let testBundleRuleEntry = makeTestRuleEntry("\(testRulePackage):Tests_test_bundle",
- type: "ios_test_bundle",
- dependencies: Set([BuildLabel(swiftLibraryRuleEntry.label.value)]))
let testHostRuleEntry = makeTestRuleEntry("\(testRulePackage):\(testHostTargetName)",
type: "ios_application", productType: .Application)
let testRuleEntry = makeTestRuleEntry("\(testRulePackage):\(testRuleTargetName)",
type: "\(testRuleType)",
attributes: ["has_swift_dependency": true as AnyObject,
- "test_bundle": testBundleRuleEntry.label.value as AnyObject,
"test_host": testHostRuleEntry.label.value as AnyObject],
sourceFiles: testSources,
productType: .UnitTest,
@@ -1224,7 +1215,6 @@
osDeploymentTarget: "8.0")
let ruleEntryMap = makeRuleEntryMap(withRuleEntries: [swiftLibraryRuleEntry,
- testBundleRuleEntry,
testHostRuleEntry,
testRuleEntry])
@@ -1291,7 +1281,7 @@
}
func testGenerateTargetsForLinkedRuleEntriesWithSourcesWithSkylarkUITest() {
- let testRuleType = "apple_ui_test"
+ let testRuleType = "ios_ui_test"
let testProductType = PBXTarget.ProductType.UIUnitTest
let testHostAttributeName = "test_host"
let rule1BuildPath = "test/app"
@@ -1405,12 +1395,12 @@
func testGenerateTargetsForLinkedRuleEntriesWithSameTestHostNameInDifferentPackagesWithSkylarkUnitTest() {
checkGenerateTargetsForLinkedRuleEntriesWithSameTestHostNameInDifferentPackages(
- "apple_unit_test", testProductType: .UnitTest, testHostAttributeName: "test_host")
+ "ios_unit_test", testProductType: .UnitTest, testHostAttributeName: "test_host")
}
func testGenerateTargetsForLinkedRuleEntriesWithSameTestHostNameInDifferentPackagesWithSkylarkUITest() {
checkGenerateTargetsForLinkedRuleEntriesWithSameTestHostNameInDifferentPackages(
- "apple_ui_test", testProductType: .UIUnitTest, testHostAttributeName: "test_host")
+ "ios_ui_test", testProductType: .UIUnitTest, testHostAttributeName: "test_host")
}
func checkGenerateTargetsForLinkedRuleEntriesWithSameTestHostNameInDifferentPackages(
@@ -1453,12 +1443,12 @@
func testGenerateTargetsForLinkedRuleEntriesWithoutIncludingTheHostWarnsWithSkylarkUnitTest() {
checkGenerateTargetsForLinkedRuleEntriesWithoutIncludingTheHostWarns(
- "apple_unit_test", testHostAttributeName: "test_host")
+ "ios_unit_test", testHostAttributeName: "test_host")
}
func testGenerateTargetsForLinkedRuleEntriesWithoutIncludingTheHostWarnsWithSkylarkUITest() {
checkGenerateTargetsForLinkedRuleEntriesWithoutIncludingTheHostWarns(
- "apple_ui_test", testHostAttributeName: "test_host")
+ "ios_ui_test", testHostAttributeName: "test_host")
}
func checkGenerateTargetsForLinkedRuleEntriesWithoutIncludingTheHostWarns(
diff --git a/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift b/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift
index 48d6958..0a5ed2d 100644
--- a/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift
+++ b/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift
@@ -179,13 +179,13 @@
}
func testTestSuiteSchemeGenerationWithSkylarkUnitTest() {
- checkTestSuiteSchemeGeneration("apple_unit_test",
+ checkTestSuiteSchemeGeneration("ios_unit_test",
testProductType: .UnitTest,
testHostAttributeName: "test_host")
}
func testTestSuiteSchemeGenerationWithSkylarkUITest() {
- checkTestSuiteSchemeGeneration("apple_ui_test",
+ checkTestSuiteSchemeGeneration("ios_ui_test",
testProductType: .UIUnitTest,
testHostAttributeName: "test_host")
}