aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test
diff options
context:
space:
mode:
authorGravatar John Cater <jcater@google.com>2017-07-05 16:12:07 -0400
committerGravatar John Cater <jcater@google.com>2017-07-06 07:13:49 -0400
commit9a8d16e338f0011e37a92d485e83ced01b24e353 (patch)
tree13986c30af1d594d732ec5c7e948f9324c5c546d /src/test
parent9cf16da1557b9d3a2956361f1bda625ed2f1b7d1 (diff)
Remove the ToolchainConstructor class and change uses to be either a
Label or a ToolchainInfo provider. Part of #2219. Change-Id: Ia09070717f54eea10e1ab0303253714b58768548 PiperOrigin-RevId: 160995546
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/RuleClassTest.java14
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/platform/PlatformCommonTest.java82
-rw-r--r--src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java18
3 files changed, 20 insertions, 94 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/packages/RuleClassTest.java b/src/test/java/com/google/devtools/build/lib/packages/RuleClassTest.java
index c6b89f19c7..51290ba4aa 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/RuleClassTest.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/RuleClassTest.java
@@ -899,7 +899,7 @@ public class RuleClassTest extends PackageLoadingTestCase {
.setMissingFragmentPolicy(missingFragmentPolicy)
.build(),
supportsConstraintChecking,
- /*requiredToolchains=*/ ImmutableList.<ClassObjectConstructor.Key>of(),
+ /*requiredToolchains=*/ ImmutableList.<Label>of(),
attributes);
}
@@ -1041,13 +1041,15 @@ public class RuleClassTest extends PackageLoadingTestCase {
.factory(DUMMY_CONFIGURED_TARGET_FACTORY)
.add(attr("tags", STRING_LIST));
- ClassObjectConstructor.Key toolchain1 = new ClassObjectConstructor.Key() {};
- ClassObjectConstructor.Key toolchain2 = new ClassObjectConstructor.Key() {};
- ruleClassBuilder.addRequiredToolchain(toolchain1);
- ruleClassBuilder.addRequiredToolchain(toolchain2);
+ ruleClassBuilder.addRequiredToolchains(
+ ImmutableList.of(
+ Label.parseAbsolute("//toolchain:tc1"), Label.parseAbsolute("//toolchain:tc2")));
RuleClass ruleClass = ruleClassBuilder.build();
- assertThat(ruleClass.getRequiredToolchains()).containsExactly(toolchain1, toolchain2).inOrder();
+ assertThat(ruleClass.getRequiredToolchains())
+ .containsExactly(
+ Label.parseAbsolute("//toolchain:tc1"), Label.parseAbsolute("//toolchain:tc2"))
+ .inOrder();
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/rules/platform/PlatformCommonTest.java b/src/test/java/com/google/devtools/build/lib/rules/platform/PlatformCommonTest.java
deleted file mode 100644
index e26389a8f8..0000000000
--- a/src/test/java/com/google/devtools/build/lib/rules/platform/PlatformCommonTest.java
+++ /dev/null
@@ -1,82 +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.rules.platform;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import com.google.devtools.build.lib.analysis.ConfiguredTarget;
-import com.google.devtools.build.lib.analysis.platform.ToolchainInfo;
-import com.google.devtools.build.lib.skylark.util.SkylarkTestCase;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.JUnit4;
-
-/** Tests for {@link PlatformCommon}. */
-@RunWith(JUnit4.class)
-public class PlatformCommonTest extends SkylarkTestCase {
-
- @Test
- @Ignore("Remove this test")
- public void testCreateToolchainType() throws Exception {
- scratch.file(
- "test/toolchain_type.bzl",
- "test_toolchain_type = platform_common.toolchain_type()",
- "def _impl(ctx):",
- " toolchain = test_toolchain_type(",
- " exec_compatible_with = ctx.attr.exec_compatible_with,",
- " target_compatible_with = ctx.attr.target_compatible_with,",
- " extra_label = ctx.attr.extra_label,",
- " extra_str = ctx.attr.extra_str,",
- " )",
- " return [toolchain]",
- "test_toolchain = rule(",
- " implementation = _impl,",
- " attrs = {",
- " 'exec_compatible_with': attr.label_list(",
- " providers = [platform_common.ConstraintValueInfo]),",
- " 'target_compatible_with': attr.label_list(",
- " providers = [platform_common.ConstraintValueInfo]),",
- " 'extra_label': attr.label(),",
- " 'extra_str': attr.string(),",
- " }",
- ")");
- scratch.file(
- "test/BUILD",
- "load(':toolchain_type.bzl', 'test_toolchain')",
- "constraint_setting(name = 'os')",
- "constraint_value(name = 'linux',",
- " constraint_setting = ':os')",
- "constraint_value(name = 'mac',",
- " constraint_setting = ':os')",
- "filegroup(name = 'dep_rule')",
- "test_toolchain(",
- " name = 'linux_toolchain',",
- " exec_compatible_with = [",
- " ':linux',",
- " ],",
- " target_compatible_with = [",
- " ':mac',",
- " ],",
- " extra_label = ':dep_rule',",
- " extra_str = 'bar',",
- ")");
-
- ConfiguredTarget configuredTarget = getConfiguredTarget("//test:linux_toolchain");
- ToolchainInfo toolchainInfo =
- (ToolchainInfo) configuredTarget.get(ToolchainInfo.SKYLARK_IDENTIFIER);
- assertThat(toolchainInfo).isNotNull();
- }
-}
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
index aef0e11052..4fa16cdee3 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
@@ -39,7 +39,6 @@ import com.google.devtools.build.lib.packages.SkylarkAspectClass;
import com.google.devtools.build.lib.packages.SkylarkClassObject;
import com.google.devtools.build.lib.packages.SkylarkClassObjectConstructor;
import com.google.devtools.build.lib.packages.SkylarkProviderIdentifier;
-import com.google.devtools.build.lib.packages.ToolchainConstructor;
import com.google.devtools.build.lib.rules.SkylarkAttr;
import com.google.devtools.build.lib.rules.SkylarkAttr.Descriptor;
import com.google.devtools.build.lib.rules.SkylarkFileType;
@@ -410,6 +409,15 @@ public class SkylarkRuleClassFunctionsTest extends SkylarkTestCase {
}
@Test
+ public void testAspectAddToolchain() throws Exception {
+ scratch.file("test/BUILD", "toolchain_type(name = 'my_toolchain_type')");
+ evalAndExport(
+ "def _impl(ctx): pass", "a1 = aspect(_impl, toolchains=['//test:my_toolchain_type'])");
+ SkylarkAspect a = (SkylarkAspect) lookup("a1");
+ assertThat(a.getRequiredToolchains()).containsExactly(makeLabel("//test:my_toolchain_type"));
+ }
+
+ @Test
public void testNonLabelAttrWithProviders() throws Exception {
checkErrorContains(
"unexpected keyword 'providers' in call to string", "attr.string(providers = ['a'])");
@@ -1420,13 +1428,11 @@ public class SkylarkRuleClassFunctionsTest extends SkylarkTestCase {
@Test
public void testRuleAddToolchain() throws Exception {
+ scratch.file("test/BUILD", "toolchain_type(name = 'my_toolchain_type')");
evalAndExport(
- "my_toolchain_type = platform_common.toolchain_type()",
- "def impl(ctx): return None",
- "r1 = rule(impl, toolchains=[my_toolchain_type])");
- ToolchainConstructor toolchain = (ToolchainConstructor) lookup("my_toolchain_type");
+ "def impl(ctx): return None", "r1 = rule(impl, toolchains=['//test:my_toolchain_type'])");
RuleClass c = ((RuleFunction) lookup("r1")).getRuleClass();
- assertThat(c.getRequiredToolchains()).containsExactly(toolchain.getKey());
+ assertThat(c.getRequiredToolchains()).containsExactly(makeLabel("//test:my_toolchain_type"));
}
@Test