diff options
author | 2017-08-04 19:48:53 +0200 | |
---|---|---|
committer | 2017-08-07 11:22:12 +0200 | |
commit | d78b374941a7b70a9b1bdfdb903213d886226342 (patch) | |
tree | 039b04aceb4d4bb90366f9920755b3ce7e1263d0 /src/test | |
parent | 9302d1b2c16b054388a7731a54176695466825aa (diff) |
Required toolchains set on rule classes are inherited.
PiperOrigin-RevId: 164281027
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/packages/RuleClassBuilderTest.java | 18 |
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); + } } |