aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/analysis/util
diff options
context:
space:
mode:
authorGravatar Lukacs Berki <lberki@google.com>2015-04-17 09:57:13 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2015-04-17 15:40:54 +0000
commit3e071282b5919f781f6211b671941dad9ee69625 (patch)
tree951355ebc59cc5ecc0606df72cd9b84c91aeb06a /src/test/java/com/google/devtools/build/lib/analysis/util
parent4d4555f135762015a68417339f81df6cd518c742 (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.java15
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) {