Misc changes.
PiperOrigin-RevId: 212830005
diff --git a/src/TulsiEndToEndTests/TulsiEndToEndTest.swift b/src/TulsiEndToEndTests/TulsiEndToEndTest.swift
index c43091c..9d16587 100644
--- a/src/TulsiEndToEndTests/TulsiEndToEndTest.swift
+++ b/src/TulsiEndToEndTests/TulsiEndToEndTest.swift
@@ -104,6 +104,18 @@
let filename = TulsiGeneratorConfig.sanitizeFilename("\(config).xcodeproj")
let xcodeProjectURL = workspaceRootURL.appendingPathComponent(filename, isDirectory: true)
+
+ addTeardownBlock {
+ do {
+ if self.fileManager.fileExists(atPath: xcodeProjectURL.path) {
+ try self.fileManager.removeItem(at: xcodeProjectURL)
+ XCTAssertFalse(self.fileManager.fileExists(atPath: xcodeProjectURL.path))
+ }
+ } catch {
+ XCTFail("Error while deleting generated Xcode project: \(error)")
+ }
+ }
+
return xcodeProjectURL
}
@@ -141,6 +153,17 @@
testXcodeProject(xcodeProjectURL, scheme: "ButtonsTests")
}
+ func testButtonsWithCanaryBazel() throws {
+ if let canaryBazelURL = fakeBazelWorkspace.canaryBazelURL {
+ XCTAssert(fileManager.fileExists(atPath: canaryBazelURL.path), "Bazel canary is missing.")
+ bazelURL = canaryBazelURL
+ let buttonsProjectPath = "src/TulsiEndToEndTests/Resources/Buttons.tulsiproj"
+ let xcodeProjectURL = generateXcodeProject(tulsiProject: buttonsProjectPath,
+ config: "Buttons")
+ testXcodeProject(xcodeProjectURL, scheme: "ButtonsTests")
+ }
+ }
+
func testInvalidConfig() throws {
let buttonsProjectPath = "src/TulsiEndToEndTests/Resources/Buttons.tulsiproj"
let xcodeProjectURL = generateXcodeProject(tulsiProject: buttonsProjectPath,
diff --git a/src/TulsiGeneratorIntegrationTests/BazelFakeWorkspace.swift b/src/TulsiGeneratorIntegrationTests/BazelFakeWorkspace.swift
index 907b0bb..6b69e2b 100644
--- a/src/TulsiGeneratorIntegrationTests/BazelFakeWorkspace.swift
+++ b/src/TulsiGeneratorIntegrationTests/BazelFakeWorkspace.swift
@@ -23,6 +23,7 @@
var fakeExecroot: URL
var workspaceRootURL: URL
var bazelURL: URL
+ var canaryBazelURL: URL?
var pathsToCleanOnTeardown = Set<URL>()
init(runfilesURL: URL, tempDirURL: URL) {