diff options
author | 2015-04-17 09:57:13 +0000 | |
---|---|---|
committer | 2015-04-17 15:40:54 +0000 | |
commit | 3e071282b5919f781f6211b671941dad9ee69625 (patch) | |
tree | 951355ebc59cc5ecc0606df72cd9b84c91aeb06a /src/test/java/com/google/devtools/build/lib/analysis/util | |
parent | 4d4555f135762015a68417339f81df6cd518c742 (diff) |
Remove the full client environment from BuildConfiguration in favor of computing the test environment as early as possible, and passing that along.
--
MOS_MIGRATED_REVID=91388451
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/analysis/util')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java index d595cede55..63199a9064 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java @@ -133,8 +133,10 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; +import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.List; +import java.util.Map; import java.util.Set; import java.util.UUID; @@ -249,12 +251,19 @@ public abstract class BuildViewTestCase extends FoundationTestCase { optionsParser.parse(configurationArgs); optionsParser.parse(args); + // --test_env is a special snowflake: even though it is in BuildConfiguration.Options, it is + // only used in BlazeRuntime to compute the actual test environment, which is passed into + // BuildConfiguration using its own very special data path. Thus, we need to special-case it + // here until it is handled in a more consistent way. + Map<String, String> testEnv = new LinkedHashMap<>(); + for (Map.Entry<String, String> entry : + optionsParser.getOptions(BuildConfiguration.Options.class).testEnvironment) { + testEnv.put(entry.getKey(), entry.getValue()); + } configurationFactory.forbidSanityCheck(); BuildOptions buildOptions = ruleClassProvider.createBuildOptions(optionsParser); ensureTargetsVisited(buildOptions.getAllLabels().values()); - BuildConfigurationKey key = new BuildConfigurationKey( - buildOptions, directories, - ImmutableMap.<String, String>of()); + BuildConfigurationKey key = new BuildConfigurationKey(buildOptions, directories, testEnv); skyframeExecutor.invalidateConfigurationCollection(); return skyframeExecutor.createConfigurations(configurationFactory, key); } catch (InvalidConfigurationException | OptionsParsingException e) { |