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) {