aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java
diff options
context:
space:
mode:
authorGravatar Rumou Duan <rduan@google.com>2016-11-30 16:03:10 +0000
committerGravatar Irina Iancu <elenairina@google.com>2016-12-01 10:13:55 +0000
commit6f8393f5c5bddbb49a74d3229411e1050d799208 (patch)
tree2168142e35cc1f428837b00936504b1387ef2f51 /src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java
parent5fe7230880cdb87ade113980a2d2351b6a7f64ea (diff)
Allow aspects to specify multiple sets of required providers to match against rules. Aspects can attach to a rule if at least one set of required providers are present on the rule.
-- MOS_MIGRATED_REVID=140605023
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java b/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java
index 37abaafb46..ae4f5337cf 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java
@@ -163,6 +163,21 @@ public class AspectTest extends AnalysisTestCase {
}
@Test
+ public void aspectCreatedIfAtLeastOneSetOfAdvertisedProvidersArePresent() throws Exception {
+ setRulesAvailableInTests(new TestAspects.BaseRule(), new TestAspects.HonestRule(),
+ new TestAspects.HonestRule2(), new TestAspects.AspectRequiringProviderSetsRule());
+
+ pkg("a",
+ "aspect_requiring_provider_sets(name='a', foo=[':b', ':c'])",
+ "honest(name='b', foo=[])",
+ "honest2(name='c', foo=[])");
+
+ ConfiguredTarget a = getConfiguredTarget("//a:a");
+ assertThat(a.getProvider(RuleInfo.class).getData())
+ .containsExactly("rule //a:a", "aspect //a:b", "aspect //a:c");
+ }
+
+ @Test
public void aspectWithParametrizedDefinition() throws Exception {
setRulesAvailableInTests(
new TestAspects.BaseRule(),