diff options
author | cpeyser <cpeyser@google.com> | 2017-08-28 22:43:32 +0200 |
---|---|---|
committer | Vladimir Moskva <vladmos@google.com> | 2017-08-29 13:32:14 +0200 |
commit | 03755ea2a9830d94fdb23baa3b37bb11c2faa392 (patch) | |
tree | 0884dfe0d360aed55e8febc2b02d1271a71894d7 /src/test/java/com/google/devtools | |
parent | 8c76d5f82d290b46d67189bcc8bd08a441094da1 (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')
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 |