Clean up test tag handling
PiperOrigin-RevId: 186427907
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/test/TestTargetProperties.java b/src/main/java/com/google/devtools/build/lib/analysis/test/TestTargetProperties.java
index 257c63f..ef04a2e 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/test/TestTargetProperties.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/test/TestTargetProperties.java
@@ -81,8 +81,6 @@
size = TestSize.getTestSize(rule);
timeout = TestTimeout.getTestTimeout(rule);
tags = ruleContext.attributes().get("tags", Type.STRING_LIST);
- boolean isTaggedLocal = TargetUtils.isLocalTestRule(rule)
- || TargetUtils.isExclusiveTestRule(rule);
// We need to use method on ruleConfiguredTarget to perform validation.
isFlaky = ruleContext.attributes().get("flaky", Type.BOOLEAN);
@@ -90,21 +88,17 @@
Map<String, String> executionInfo = Maps.newLinkedHashMap();
executionInfo.putAll(TargetUtils.getExecutionInfo(rule));
- if (isTaggedLocal) {
- executionInfo.put("local", "");
+ if (TargetUtils.isLocalTestRule(rule) || TargetUtils.isExclusiveTestRule(rule)) {
+ executionInfo.put(ExecutionRequirements.LOCAL, "");
}
- boolean isRequestedLocalByProvider = false;
if (executionRequirements != null) {
// This will overwrite whatever TargetUtils put there, which might be confusing.
executionInfo.putAll(executionRequirements.getExecutionInfo());
-
- // We also need to mark it as local if the execution requirements specifies it.
- isRequestedLocalByProvider = executionRequirements.getExecutionInfo().containsKey("local");
}
this.executionInfo = ImmutableMap.copyOf(executionInfo);
- isLocal = isTaggedLocal || isRequestedLocalByProvider;
+ isLocal = executionInfo.containsKey(ExecutionRequirements.LOCAL);
language = TargetUtils.getRuleLanguage(rule);
}
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 0fb0747..2dfc229 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
@@ -50,6 +50,7 @@
import java.io.IOException;
import java.util.List;
import java.util.Map;
+import java.util.TreeMap;
/** Runs TestRunnerAction actions. */
// TODO(bazel-team): add tests for this strategy.
@@ -100,13 +101,12 @@
ResolvedPaths resolvedPaths = action.resolve(execRoot);
- ImmutableMap.Builder<String, String> executionInfo = ImmutableMap.builder();
+ Map<String, String> executionInfo =
+ new TreeMap<>(action.getTestProperties().getExecutionInfo());
if (!action.shouldCacheResult()) {
executionInfo.put(ExecutionRequirements.NO_CACHE, "");
}
- // This key is only understood by StandaloneSpawnStrategy.
- executionInfo.put("timeout", "" + getTimeout(action).getSeconds());
- executionInfo.putAll(action.getTestProperties().getExecutionInfo());
+ executionInfo.put(ExecutionRequirements.TIMEOUT, "" + getTimeout(action).getSeconds());
ResourceSet localResourceUsage =
action
@@ -119,7 +119,7 @@
action,
getArgs(action),
ImmutableMap.copyOf(env),
- executionInfo.build(),
+ ImmutableMap.copyOf(executionInfo),
new RunfilesSupplierImpl(
runfilesDir.relativeTo(execRoot), action.getExecutionSettings().getRunfiles()),
/*inputs=*/ ImmutableList.copyOf(action.getInputs()),