diff options
author | Dmitry Lomov <dslomov@google.com> | 2017-02-13 16:39:59 +0000 |
---|---|---|
committer | Dmitry Lomov <dslomov@google.com> | 2017-02-14 14:19:05 +0000 |
commit | 3df88468917217f486ab14ef411d8c723a86f362 (patch) | |
tree | e4820b1ee48c6df46601de2734c4ac9b4429434a /src/test/java/com/google | |
parent | 01aa7d6f177f3284b5fecc0397bf29a605b37df0 (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.java | 26 |
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 |