From 79f052118e94c418247c4ea0ba6fcd3a35ca7e0d Mon Sep 17 00:00:00 2001 From: Ulf Adams Date: Fri, 27 Feb 2015 16:40:00 +0000 Subject: Move BuildViewTestCase to the lib.analysis.util package. -- MOS_MIGRATED_REVID=87345558 --- .../devtools/build/lib/analysis/BuildView.java | 23 ++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java b/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java index 5794965e6e..600afdf409 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java @@ -307,7 +307,7 @@ public class BuildView { * Sets the configurations. Not thread-safe. DO NOT CALL except from tests! */ @VisibleForTesting - void setConfigurationsForTesting(BuildConfigurationCollection configurations) { + public void setConfigurationsForTesting(BuildConfigurationCollection configurations) { this.configurations = configurations; } @@ -921,7 +921,7 @@ public class BuildView { * */ @VisibleForTesting // for BuildViewTestCase - void setArtifactRoots(ImmutableMap packageRoots) { + public void setArtifactRoots(ImmutableMap packageRoots) { Map rootMap = new HashMap<>(); Map realPackageRoots = new HashMap<>(); for (Map.Entry entry : packageRoots.entrySet()) { @@ -979,14 +979,29 @@ public class BuildView { new ConfiguredTargetKey(target.getLabel(), config), /*isSystemEnv=*/false, config.extendedSanityChecks(), eventHandler, /*skyframeEnv=*/null, config.isActionsEnabled(), binTools); - RuleContext ruleContext = new RuleContext.Builder(analysisEnvironment, + return new RuleContext.Builder(analysisEnvironment, (Rule) target.getTarget(), config, ruleClassProvider.getPrerequisiteValidator()) .setVisibility(NestedSetBuilder.create( Order.STABLE_ORDER, PackageSpecification.EVERYTHING)) .setPrerequisites(getPrerequisiteMapForTesting(target)) .setConfigConditions(ImmutableSet.of()) .build(); - return ruleContext; + } + + /** + * Creates and returns a rule context that is equivalent to the one that was used to create the + * given configured target. + */ + @VisibleForTesting + public RuleContext getRuleContextForTesting(ConfiguredTarget target, AnalysisEnvironment env) { + return new RuleContext.Builder( + env, (Rule) target.getTarget(), target.getConfiguration(), + ruleClassProvider.getPrerequisiteValidator()) + .setVisibility(NestedSetBuilder.create( + Order.STABLE_ORDER, PackageSpecification.EVERYTHING)) + .setPrerequisites(getPrerequisiteMapForTesting(target)) + .setConfigConditions(ImmutableSet.of()) + .build(); } /** -- cgit v1.2.3