aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/packages/RuleClassBuilderTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/packages/RuleClassBuilderTest.java')
-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);
+ }
}