diff options
author | Googler <noreply@google.com> | 2018-03-14 14:26:30 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-03-14 14:29:02 -0700 |
commit | 92044990cdc318fa49cd769181ad9866a9d86ef6 (patch) | |
tree | cffc9c0a9c5f5150265c30cad920dade32c9380c /src/test/java/com/google/devtools/build | |
parent | 87bc83321b09b6e3fb01bd148c5f024af5fbe6c5 (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/com/google/devtools/build')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java | 18 |
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")); + } } |