diff options
author | 2016-11-22 18:31:13 +0000 | |
---|---|---|
committer | 2016-11-23 08:50:14 +0000 | |
commit | 0aac8f7d4f2cea1834df4aaf4cad35d3425d874b (patch) | |
tree | 1125e9a11160e92ac7b1eb6901e765390dcffcf8 /src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java | |
parent | 984d6d48d0e07ac3be2bbfec667158165390eb4f (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.java | 30 |
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 { |