aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google
diff options
context:
space:
mode:
authorGravatar Dmitry Lomov <dslomov@google.com>2017-02-13 16:39:59 +0000
committerGravatar Dmitry Lomov <dslomov@google.com>2017-02-14 14:19:05 +0000
commit3df88468917217f486ab14ef411d8c723a86f362 (patch)
treee4820b1ee48c6df46601de2734c4ac9b4429434a /src/test/java/com/google
parent01aa7d6f177f3284b5fecc0397bf29a605b37df0 (diff)
Allow Skylark aspects to advertise providers.
-- PiperOrigin-RevId: 147350507 MOS_MIGRATED_REVID=147350507
Diffstat (limited to 'src/test/java/com/google')
-rw-r--r--src/test/java/com/google/devtools/build/lib/skylark/SkylarkAspectsTest.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkAspectsTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkAspectsTest.java
index c17cd69f12..44eff26e7f 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkAspectsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkAspectsTest.java
@@ -1744,6 +1744,32 @@ public class SkylarkAspectsTest extends AnalysisTestCase {
assertThat(analysisResult.hasError()).isFalse();
}
+ @Test
+ public void aspectAdvertisingProviders() throws Exception {
+ scratch.file(
+ "test/aspect.bzl",
+ "def _impl(target, ctx):",
+ " return struct()",
+ "my_aspect = aspect(_impl, provides = ['foo'])",
+ "a_dict = { 'foo' : attr.label_list(aspects = [my_aspect]) }"
+ );
+ scratch.file("test/BUILD", "java_library(name = 'xxx',)");
+
+ reporter.removeHandler(failFastHandler);
+ try {
+ AnalysisResult analysisResult = update(
+ ImmutableList.of("//test:aspect.bzl%my_aspect"),
+ "//test:xxx");
+ assertThat(keepGoing()).isTrue();
+ assertThat(analysisResult.hasError()).isTrue();
+ } catch (ViewCreationFailedException e) {
+ // expect exception
+ }
+ assertContainsEvent(
+ "Aspect '//test:aspect.bzl%my_aspect', applied to '//test:xxx', "
+ + "does not provide advertised provider 'foo'");
+ }
+
@RunWith(JUnit4.class)
public static final class WithKeepGoing extends SkylarkAspectsTest {
@Override