aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools
diff options
context:
space:
mode:
authorGravatar cpeyser <cpeyser@google.com>2017-08-28 22:43:32 +0200
committerGravatar Vladimir Moskva <vladmos@google.com>2017-08-29 13:32:14 +0200
commit03755ea2a9830d94fdb23baa3b37bb11c2faa392 (patch)
tree0884dfe0d360aed55e8febc2b02d1271a71894d7 /src/test/java/com/google/devtools
parent8c76d5f82d290b46d67189bcc8bd08a441094da1 (diff)
Automated rollback of commit 363413110f3a63a11d900864be1852adbaed2899.
*** Reason for rollback *** Breaks //src/test/shell/bazel:bazel_bootstrap_distfile_test: INFO: You can skip this first step by providing a path to the bazel binary as second argument: INFO: ./compile.sh compile /path/to/bazel 🍃 Building Bazel from scratch...... 🍃 Building Bazel with Bazel. .WARNING: /tmp/bazel_cHivhPBc/out/external/bazel_tools/WORKSPACE:1: Workspace name in /tmp/bazel_cHivhPBc/out/external/bazel_tools/WORKSPACE (@io_bazel) does not match the name given in the repository's definition (@bazel_tools); this will cause a build error in future versions. ERROR: in target '//external:cc_toolchain': error loading package '@local_config_cc//': Extension file not found. Unable to load file '@local_config_cc//:dummy_toolchain.bzl': file doesn't exist or isn't a file. INFO: Elapsed time: 3.343s ERROR: Could not build Bazel Found by git bisect. *** Original change description *** Add a new toolchain type for c++. In order to do this, PlatformConfiguration is made a legal configuration fragment for every rule class. Add a default "dummy" c++ toolchain to prevent resolution errors when legacy toolchain selection logic is used. Add toolchain mocks to java and shell tests. PiperOrigin-RevId: 166750885
Diffstat (limited to 'src/test/java/com/google/devtools')
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java27
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/util/MockPlatformSupport.java36
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java1
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunctionTest.java11
5 files changed, 11 insertions, 68 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java b/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java
index 83bcdad904..183c8c05f7 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java
@@ -1238,8 +1238,8 @@ public class BuildViewTest extends BuildViewTestBase {
useConfiguration("--experimental_dynamic_configs=on");
AnalysisResult res = update("//foo:x");
ConfiguredTarget topLevelTarget = Iterables.getOnlyElement(res.getTargetsToBuild());
- assertThat(topLevelTarget.getConfiguration().getAllFragments().keySet())
- .containsExactly(ruleClassProvider.getUniversalFragment(), PlatformConfiguration.class);
+ assertThat(topLevelTarget.getConfiguration().getAllFragments().keySet()).containsExactly(
+ ruleClassProvider.getUniversalFragment());
}
@Test
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java b/src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java
index 296cd82c3c..0defa523b1 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java
@@ -77,6 +77,7 @@ public final class BazelMockCcSupport extends MockCcSupport {
config.create(
"/bazel_tools_workspace/tools/cpp/BUILD",
"package(default_visibility=['//visibility:public'])",
+ "toolchain_type(name = 'toolchain_type')",
"cc_library(name = 'stl')",
"cc_library(name = 'malloc')",
"cc_toolchain_suite(",
@@ -122,7 +123,7 @@ public final class BazelMockCcSupport extends MockCcSupport {
" linker_files = ':empty',",
" module_map = 'crosstool.cppmap', supports_header_parsing = 1,",
" objcopy_files = ':empty', static_runtime_libs = [':empty'], strip_files = ':empty',",
- ")",
+ ")",
"cc_toolchain(name = 'cc-compiler-armeabi-v7a', all_files = ':empty', ",
" compiler_files = ':empty',",
" cpu = 'local', dwp_files = ':empty', dynamic_runtime_libs = [':empty'], ",
@@ -144,27 +145,8 @@ public final class BazelMockCcSupport extends MockCcSupport {
"filegroup(",
" name = 'link_dynamic_library',",
" srcs = ['link_dynamic_library.sh'],",
- ")",
- "toolchain(",
- " name = 'toolchain_cc-compiler-piii',",
- " toolchain_type = ':toolchain_type',",
- " toolchain = '//third_party/crosstool/mock:cc-compiler-piii',",
- " target_compatible_with = [':mock_value'],",
- ")",
- "toolchain_type(name = 'toolchain_type')",
- "toolchain(",
- " name = 'dummy_cc_toolchain',",
- " toolchain_type = ':toolchain_type',",
- " toolchain = ':dummy_cc_toolchain_impl',",
- ")",
- "load(':dummy_toolchain.bzl', 'dummy_toolchain')",
- "dummy_toolchain(name = 'dummy_cc_toolchain_impl')");
- config.create(
- "/bazel_tools_workspace/tools/cpp/dummy_toolchain.bzl",
- "def _dummy_toolchain_impl(ctx):",
- " toolchain = platform_common.ToolchainInfo()",
- " return [toolchain]",
- "dummy_toolchain = rule(_dummy_toolchain_impl, attrs = {})");
+ ")");
+
config.create(
"/bazel_tools_workspace/tools/cpp/CROSSTOOL",
readCrosstoolFile());
@@ -174,7 +156,6 @@ public final class BazelMockCcSupport extends MockCcSupport {
config.create("tools/cpp/link_dynamic_library.sh", "");
}
MockObjcSupport.setup(config);
- MockPlatformSupport.setup(config, "/bazel_tools_workspace/tools/platforms");
}
@Override
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/MockPlatformSupport.java b/src/test/java/com/google/devtools/build/lib/packages/util/MockPlatformSupport.java
deleted file mode 100644
index f2d89fbbe4..0000000000
--- a/src/test/java/com/google/devtools/build/lib/packages/util/MockPlatformSupport.java
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2017 The Bazel 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.
-package com.google.devtools.build.lib.packages.util;
-
-import java.io.IOException;
-
-/** Mocking support for platforms and toolchains. */
-public class MockPlatformSupport {
-
- /** Adds mocks for basic host and target platform. */
- public static void setup(MockToolsConfig mockToolsConfig, String platformsPath)
- throws IOException {
- mockToolsConfig.create(
- platformsPath + "/BUILD",
- "package(default_visibility=['//visibility:public'])",
- "platform(",
- " name = 'target_platform',",
- " target_platform = True,",
- ")",
- "platform(",
- " name = 'host_platform',",
- " host_platform = True,",
- ")");
- }
-}
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java
index 2ff18b4379..2547d354f3 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java
@@ -977,7 +977,6 @@ public class CcCommonTest extends BuildViewTestCase {
BazelRuleClassProvider.BAZEL_SETUP.init(builder);
CoreRules.INSTANCE.init(builder);
BazelRuleClassProvider.CORE_WORKSPACE_RULES.init(builder);
- BazelRuleClassProvider.PLATFORM_RULES.init(builder);
BazelRuleClassProvider.GENERIC_RULES.init(builder);
BazelRuleClassProvider.CPP_RULES.init(builder);
builder.addRuleDefinition(new OnlyCppToolchainTypeRule());
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunctionTest.java
index 1c0f5697f1..86bbf073f6 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunctionTest.java
@@ -57,10 +57,9 @@ public class RegisteredToolchainsFunctionTest extends ToolchainTestCase {
assertThatEvaluationResult(result).hasEntryThat(toolchainsKey).isNotNull();
RegisteredToolchainsValue value = result.get(toolchainsKey);
- // We have two registered toolchains, and one default for c++
- assertThat(value.registeredToolchains()).hasSize(3);
+ assertThat(value.registeredToolchains()).hasSize(2);
- DeclaredToolchainInfo registeredToolchain1 = value.registeredToolchains().get(1);
+ DeclaredToolchainInfo registeredToolchain1 = value.registeredToolchains().get(0);
assertThat(registeredToolchain1).isNotNull();
assertThat(registeredToolchain1.toolchainType()).isEqualTo(testToolchainType);
@@ -69,7 +68,7 @@ public class RegisteredToolchainsFunctionTest extends ToolchainTestCase {
assertThat(registeredToolchain1.toolchainLabel())
.isEqualTo(makeLabel("//toolchain:test_toolchain_1"));
- DeclaredToolchainInfo registeredToolchain2 = value.registeredToolchains().get(2);
+ DeclaredToolchainInfo registeredToolchain2 = value.registeredToolchains().get(1);
assertThat(registeredToolchain2).isNotNull();
assertThat(registeredToolchain2.toolchainType()).isEqualTo(testToolchainType);
@@ -138,7 +137,7 @@ public class RegisteredToolchainsFunctionTest extends ToolchainTestCase {
requestToolchainsFromSkyframe(toolchainsKey);
assertThatEvaluationResult(result).hasNoError();
assertToolchainLabels(result.get(toolchainsKey))
- .contains(makeLabel("//toolchain:test_toolchain_1"));
+ .containsExactly(makeLabel("//toolchain:test_toolchain_1"));
// Re-write the WORKSPACE.
rewriteWorkspace("register_toolchains('//toolchain:toolchain_2')");
@@ -147,7 +146,7 @@ public class RegisteredToolchainsFunctionTest extends ToolchainTestCase {
result = requestToolchainsFromSkyframe(toolchainsKey);
assertThatEvaluationResult(result).hasNoError();
assertToolchainLabels(result.get(toolchainsKey))
- .contains(makeLabel("//toolchain:test_toolchain_2"));
+ .containsExactly(makeLabel("//toolchain:test_toolchain_2"));
}
@Test