aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/exec/StandaloneTestStrategy.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/exec/StandaloneTestStrategy.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/exec/StandaloneTestStrategy.java44
1 files changed, 25 insertions, 19 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/exec/StandaloneTestStrategy.java b/src/main/java/com/google/devtools/build/lib/exec/StandaloneTestStrategy.java
index 41004a7c6d..2f754a8e07 100644
--- a/src/main/java/com/google/devtools/build/lib/exec/StandaloneTestStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/exec/StandaloneTestStrategy.java
@@ -14,6 +14,7 @@
package com.google.devtools.build.lib.exec;
+import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.devtools.build.lib.actions.ActionExecutionContext;
import com.google.devtools.build.lib.actions.Artifact;
@@ -30,7 +31,6 @@ import com.google.devtools.build.lib.actions.SpawnActionContext;
import com.google.devtools.build.lib.actions.TestExecException;
import com.google.devtools.build.lib.analysis.RunfilesSupplierImpl;
import com.google.devtools.build.lib.analysis.config.BinTools;
-import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.events.Event;
import com.google.devtools.build.lib.events.EventKind;
import com.google.devtools.build.lib.events.Reporter;
@@ -41,6 +41,7 @@ import com.google.devtools.build.lib.rules.test.TestRunnerAction.ResolvedPaths;
import com.google.devtools.build.lib.util.io.FileOutErr;
import com.google.devtools.build.lib.vfs.FileSystemUtils;
import com.google.devtools.build.lib.vfs.Path;
+import com.google.devtools.build.lib.vfs.PathFragment;
import com.google.devtools.build.lib.view.test.TestStatus.BlazeTestStatus;
import com.google.devtools.build.lib.view.test.TestStatus.TestCase;
import com.google.devtools.build.lib.view.test.TestStatus.TestResultData;
@@ -61,6 +62,20 @@ public class StandaloneTestStrategy extends TestStrategy {
public static final String COLLECT_COVERAGE =
"external/bazel_tools/tools/test/collect_coverage.sh";
+ private static final ImmutableMap<String, String> ENV_VARS =
+ ImmutableMap.<String, String>builder()
+ .put("TZ", "UTC")
+ .put("USER", TestPolicy.SYSTEM_USER_NAME)
+ .put("TEST_SRCDIR", TestPolicy.RUNFILES_DIR)
+ // TODO(lberki): Remove JAVA_RUNFILES and PYTHON_RUNFILES.
+ .put("JAVA_RUNFILES", TestPolicy.RUNFILES_DIR)
+ .put("PYTHON_RUNFILES", TestPolicy.RUNFILES_DIR)
+ .put("RUNFILES_DIR", TestPolicy.RUNFILES_DIR)
+ .put("TEST_TMPDIR", TestPolicy.TEST_TMP_DIR)
+ .build();
+
+ public static final TestPolicy DEFAULT_LOCAL_POLICY = new TestPolicy(ENV_VARS);
+
protected final Path tmpDirRoot;
public StandaloneTestStrategy(
@@ -231,27 +246,18 @@ public class StandaloneTestStrategy extends TestStrategy {
private Map<String, String> setupEnvironment(
TestRunnerAction action, Path execRoot, Path runfilesDir, Path tmpDir) {
- Map<String, String> env = getDefaultTestEnvironment(action);
- BuildConfiguration config = action.getConfiguration();
-
- env.putAll(config.getLocalShellEnvironment());
- env.putAll(action.getTestEnv());
-
- String tmpDirString;
+ PathFragment relativeTmpDir;
if (tmpDir.startsWith(execRoot)) {
- tmpDirString = tmpDir.relativeTo(execRoot).getPathString();
+ relativeTmpDir = tmpDir.relativeTo(execRoot);
} else {
- tmpDirString = tmpDir.getPathString();
+ relativeTmpDir = tmpDir.asFragment();
}
-
- String testSrcDir = runfilesDir.relativeTo(execRoot).getPathString();
- env.put("JAVA_RUNFILES", testSrcDir);
- env.put("PYTHON_RUNFILES", testSrcDir);
- env.put("TEST_SRCDIR", testSrcDir);
- env.put("TEST_TMPDIR", tmpDirString);
-
- action.setupEnvVariables(env, getTimeout(action));
- return env;
+ return DEFAULT_LOCAL_POLICY.computeTestEnvironment(
+ action,
+ clientEnv,
+ getTimeout(action),
+ runfilesDir.relativeTo(execRoot),
+ relativeTmpDir);
}
protected TestResultData executeTest(