diff options
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.java | 27 |
1 files changed, 26 insertions, 1 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 b6c8443d84..031d6183d0 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 @@ -250,18 +250,43 @@ public class StandaloneTestStrategy extends TestStrategy { env.put("TEST_SRCDIR", testSrcDir); env.put("TEST_TMPDIR", tmpDirString); env.put("TEST_WORKSPACE", action.getRunfilesPrefix()); + + // TODO(ulfjack): Call into TestRunnerAction.setupEnvVariables instead. TestRunnerAction.ResolvedPaths resolvedPaths = action.resolve(execRoot); env.put( "XML_OUTPUT_FILE", resolvedPaths.getXmlOutputPath().relativeTo(execRoot).getPathString()); + env.put("TEST_SIZE", action.getTestProperties().getSize().toString()); + env.put("TEST_TIMEOUT", Integer.toString(getTimeout(action))); + + // When we run test multiple times, set different TEST_RANDOM_SEED values for each run. + if (action.getConfiguration().getRunsPerTestForLabel(action.getOwner().getLabel()) > 1) { + env.put("TEST_RANDOM_SEED", Integer.toString(action.getRunNumber() + 1)); + } + + String testFilter = action.getExecutionSettings().getTestFilter(); + if (testFilter != null) { + env.put("TESTBRIDGE_TEST_ONLY", testFilter); + } + + if (action.isSharded()) { + env.put("TEST_SHARD_INDEX", Integer.toString(action.getShardNum())); + env.put( + "TEST_TOTAL_SHARDS", Integer.toString(action.getExecutionSettings().getTotalShards())); + } if (!action.isEnableRunfiles()) { env.put("RUNFILES_MANIFEST_ONLY", "1"); } if (action.isCoverageMode()) { + env.put( + "COVERAGE_MANIFEST", + action.getExecutionSettings().getInstrumentedFileManifest().getExecPathString()); + // Instruct remote-runtest.sh/local-runtest.sh not to cd into the runfiles directory. + env.put("RUNTEST_PRESERVE_CWD", "1"); + env.put("MICROCOVERAGE_REQUESTED", action.isMicroCoverageMode() ? "true" : "false"); env.put("COVERAGE_DIR", action.getCoverageDirectory().toString()); env.put("COVERAGE_OUTPUT_FILE", action.getCoverageData().getExecPathString()); } - return env; } |