aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java
diff options
context:
space:
mode:
authorGravatar Dmitry Lomov <dslomov@google.com>2016-11-22 18:31:13 +0000
committerGravatar Dmitry Lomov <dslomov@google.com>2016-11-23 08:50:14 +0000
commit0aac8f7d4f2cea1834df4aaf4cad35d3425d874b (patch)
tree1125e9a11160e92ac7b1eb6901e765390dcffcf8 /src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java
parent984d6d48d0e07ac3be2bbfec667158165390eb4f (diff)
Remove weird restriction on '|' operator from SkylarkNestedSets.
-- MOS_MIGRATED_REVID=139926067
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java
index 9e2d5502f8..808ecd59f0 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java
@@ -230,6 +230,36 @@ public class SkylarkIntegrationTest extends BuildViewTestCase {
"temp_files" + INTERNAL_SUFFIX);
}
+ @Test
+ public void testOutputGroupsAsDictionaryPipe() throws Exception {
+ scratch.file(
+ "test/skylark/extension.bzl",
+ "def _impl(ctx):",
+ " f = ctx.attr.dep.output_groups['_hidden_top_level" + INTERNAL_SUFFIX + "']",
+ " g = ctx.attr.dep.output_groups['_hidden_top_level" + INTERNAL_SUFFIX + "'] | set([])",
+ " return struct(result = g, ",
+ " output_groups = { 'my_group' : g })",
+ "my_rule = rule(implementation = _impl,",
+ " attrs = { 'dep' : attr.label() })");
+ scratch.file(
+ "test/skylark/BUILD",
+ "load('/test/skylark/extension', 'my_rule')",
+ "cc_binary(name = 'lib', data = ['a.txt'])",
+ "my_rule(name='my', dep = ':lib')");
+ NestedSet<Artifact> hiddenTopLevelArtifacts =
+ getConfiguredTarget("//test/skylark:lib")
+ .getProvider(OutputGroupProvider.class)
+ .getOutputGroup(OutputGroupProvider.HIDDEN_TOP_LEVEL);
+ ConfiguredTarget myTarget = getConfiguredTarget("//test/skylark:my");
+ SkylarkProviders skylarkProviders = myTarget
+ .getProvider(SkylarkProviders.class);
+ SkylarkNestedSet result = (SkylarkNestedSet) skylarkProviders.getValue("result");
+ assertThat(result.getSet(Artifact.class)).containsExactlyElementsIn(hiddenTopLevelArtifacts);
+ assertThat(myTarget.getProvider(OutputGroupProvider.class).getOutputGroup("my_group"))
+ .containsExactlyElementsIn(hiddenTopLevelArtifacts);
+ }
+
+
@Test
public void testOutputGroupsWithList() throws Exception {