aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2018-03-14 14:26:30 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-03-14 14:29:02 -0700
commit92044990cdc318fa49cd769181ad9866a9d86ef6 (patch)
treecffc9c0a9c5f5150265c30cad920dade32c9380c /src/test/java
parent87bc83321b09b6e3fb01bd148c5f024af5fbe6c5 (diff)
Dedupes aspects in BuildView
This change ensures that there is no duplicate aspect in AnalysisResult. RELNOTES: None PiperOrigin-RevId: 189086095
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java18
1 files changed, 18 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 9ec6185da5..22942588aa 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
@@ -837,4 +837,22 @@ public class AspectTest extends AnalysisTestCase {
.isNull();
}
+ @Test
+ public void duplicateAspectsDeduped() throws Exception {
+ AspectApplyingToFiles aspectApplyingToFiles = new AspectApplyingToFiles();
+ setRulesAndAspectsAvailableInTests(
+ ImmutableList.<NativeAspectClass>of(aspectApplyingToFiles),
+ ImmutableList.<RuleDefinition>of());
+ pkg("a", "java_binary(name = 'x', main_class = 'x.FooBar', srcs = ['x.java'])");
+ AnalysisResult analysisResult =
+ update(
+ new EventBus(),
+ defaultFlags(),
+ ImmutableList.of(aspectApplyingToFiles.getName(), aspectApplyingToFiles.getName()),
+ "//a:x_deploy.jar");
+ AspectValue aspect = Iterables.getOnlyElement(analysisResult.getAspects());
+ AspectApplyingToFiles.Provider provider =
+ aspect.getConfiguredAspect().getProvider(AspectApplyingToFiles.Provider.class);
+ assertThat(provider.getLabel()).isEqualTo(Label.parseAbsoluteUnchecked("//a:x_deploy.jar"));
+ }
}