aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/packages
diff options
context:
space:
mode:
authorGravatar cpeyser <cpeyser@google.com>2017-08-04 19:48:53 +0200
committerGravatar Jakob Buchgraber <buchgr@google.com>2017-08-07 11:22:12 +0200
commitd78b374941a7b70a9b1bdfdb903213d886226342 (patch)
tree039b04aceb4d4bb90366f9920755b3ce7e1263d0 /src/test/java/com/google/devtools/build/lib/packages
parent9302d1b2c16b054388a7731a54176695466825aa (diff)
Required toolchains set on rule classes are inherited.
PiperOrigin-RevId: 164281027
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/packages')
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/RuleClassBuilderTest.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/packages/RuleClassBuilderTest.java b/src/test/java/com/google/devtools/build/lib/packages/RuleClassBuilderTest.java
index b93fe6c836..1545f5635f 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/RuleClassBuilderTest.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/RuleClassBuilderTest.java
@@ -21,6 +21,8 @@ import static com.google.devtools.build.lib.syntax.Type.STRING;
import static com.google.devtools.build.lib.syntax.Type.STRING_LIST;
import static org.junit.Assert.fail;
+import com.google.common.collect.ImmutableList;
+import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.packages.RuleClass.Builder.RuleClassType;
import com.google.devtools.build.lib.packages.util.PackageLoadingTestCase;
import org.junit.Test;
@@ -188,4 +190,20 @@ public class RuleClassBuilderTest extends PackageLoadingTestCase {
// Expected exception.
}
}
+
+ @Test
+ public void testRequiredToolchainsAreInherited() throws Exception {
+ Label mockToolchainType = Label.parseAbsoluteUnchecked("//mock_toolchain_type");
+ RuleClass parent =
+ new RuleClass.Builder("$parent", RuleClassType.ABSTRACT, false)
+ .add(attr("tags", STRING_LIST))
+ .addRequiredToolchains(ImmutableList.of(mockToolchainType))
+ .build();
+ RuleClass child =
+ new RuleClass.Builder("child", RuleClassType.NORMAL, false, parent)
+ .factory(DUMMY_CONFIGURED_TARGET_FACTORY)
+ .add(attr("attr", STRING))
+ .build();
+ assertThat(child.getRequiredToolchains()).contains(mockToolchainType);
+ }
}