Splits the test cases in ButtonsEndToEndTest into two separate files.
PiperOrigin-RevId: 236134750
diff --git a/src/TulsiEndToEndTests/ButtonsEndToEndTest.swift b/src/TulsiEndToEndTests/ButtonsEndToEndTest.swift
index e99fc0f..59be9e2 100644
--- a/src/TulsiEndToEndTests/ButtonsEndToEndTest.swift
+++ b/src/TulsiEndToEndTests/ButtonsEndToEndTest.swift
@@ -37,19 +37,6 @@
testXcodeProject(xcodeProjectURL, scheme: "ButtonsTests")
}
- func testButtonsWithCanaryBazel() throws {
- guard let canaryBazelURL = fakeBazelWorkspace.canaryBazelURL else {
- XCTFail("Expected Bazel canary URL.")
- return
- }
- XCTAssert(fileManager.fileExists(atPath: canaryBazelURL.path), "Bazel canary is missing.")
-
- bazelURL = canaryBazelURL
- let xcodeProjectURL = generateXcodeProject(tulsiProject: buttonsProjectPath,
- config: "Buttons")
- testXcodeProject(xcodeProjectURL, scheme: "ButtonsLogicTests")
- }
-
func testInvalidConfig() throws {
let xcodeProjectURL = generateXcodeProject(tulsiProject: buttonsProjectPath,
config: "InvalidConfig")
diff --git a/src/TulsiEndToEndTests/CanaryButtonsEndToEndTest.swift b/src/TulsiEndToEndTests/CanaryButtonsEndToEndTest.swift
new file mode 100644
index 0000000..99fe43d
--- /dev/null
+++ b/src/TulsiEndToEndTests/CanaryButtonsEndToEndTest.swift
@@ -0,0 +1,48 @@
+
+// Copyright 2016 The Tulsi Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+import XCTest
+@testable import BazelIntegrationTestCase
+@testable import TulsiEndToEndTestBase
+
+
+// End to end test that generates the Buttons project and runs its unit tests. This variation of the
+// test uses the canary Bazel binary.
+class ButtonsEndToEndTest: TulsiEndToEndTest {
+ fileprivate let buttonsProjectPath = "third_party/tulsi/src/TulsiEndToEndTests/Resources/Buttons.tulsiproj"
+
+ override func setUp() {
+ super.setUp()
+
+ if (!copyDataToFakeWorkspace("third_party/tulsi/src/TulsiEndToEndTests/Resources")) {
+ XCTFail("Failed to copy Buttons files to fake execroot.")
+ }
+ }
+
+ func testButtonsWithCanaryBazel() throws {
+ guard let canaryBazelURL = fakeBazelWorkspace.canaryBazelURL else {
+ XCTFail("Expected Bazel canary URL.")
+ return
+ }
+ XCTAssert(fileManager.fileExists(atPath: canaryBazelURL.path), "Bazel canary is missing.")
+
+ bazelURL = canaryBazelURL
+ let xcodeProjectURL = generateXcodeProject(tulsiProject: buttonsProjectPath,
+ config: "Buttons")
+ XCTAssert(fileManager.fileExists(atPath: xcodeProjectURL.path), "Xcode project was not generated.")
+ testXcodeProject(xcodeProjectURL, scheme: "ButtonsLogicTests")
+ }
+}
+