aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2018-04-17 07:09:37 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-04-17 07:12:15 -0700
commite3a0b09598baff1860a330d63284ab1fb98a76f4 (patch)
tree7913c72211a9bf5a1174bd7de92233623c5f3ad4 /src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
parentb701530ca8beaf190143b502828f4d91132981b1 (diff)
Move test_timeout to BuildConfiguration and TargetCompleteEvent.
- Move test_timeout to BuildConfiguration. - Add test_timeout_seconds field to BEP TargetCompleteEvent. - Deprecate test_timeout field in ExecutionInfo. Data is still written to deprecated field to allow consumer transition. PiperOrigin-RevId: 193192636
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
index c137781357..80f35abd4f 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
@@ -49,6 +49,7 @@ import com.google.devtools.build.lib.events.Event;
import com.google.devtools.build.lib.events.EventHandler;
import com.google.devtools.build.lib.packages.RuleClassProvider;
import com.google.devtools.build.lib.packages.Target;
+import com.google.devtools.build.lib.packages.TestTimeout;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
@@ -66,6 +67,7 @@ import com.google.devtools.common.options.OptionEffectTag;
import com.google.devtools.common.options.OptionMetadataTag;
import com.google.devtools.common.options.OptionsParsingException;
import com.google.devtools.common.options.TriState;
+import java.time.Duration;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
@@ -564,6 +566,20 @@ public class BuildConfiguration {
)
public List<Map.Entry<String, String>> testEnvironment;
+ @Option(
+ name = "test_timeout",
+ defaultValue = "-1",
+ converter = TestTimeout.TestTimeoutConverter.class,
+ documentationCategory = OptionDocumentationCategory.TESTING,
+ effectTags = {OptionEffectTag.UNKNOWN},
+ help =
+ "Override the default test timeout values for test timeouts (in secs). If a single "
+ + "positive integer value is specified it will override all categories. If 4 "
+ + "comma-separated integers are specified, they will override the timeouts for "
+ + "short, moderate, long and eternal (in that order). In either form, a value of "
+ + "-1 tells blaze to use its default timeouts for that category.")
+ public Map<TestTimeout, Duration> testTimeout;
+
// TODO(bazel-team): The set of available variables from the client environment for actions
// is computed independently in CommandEnvironment to inject a more restricted client
// environment to skyframe.
@@ -1094,6 +1110,7 @@ public class BuildConfiguration {
private final ActionEnvironment actionEnv;
private final ActionEnvironment testEnv;
+ private final ImmutableMap<TestTimeout, Duration> testTimeout;
private final BuildOptions buildOptions;
private final BuildOptions.OptionsDiffForReconstruction buildOptionsDiff;
@@ -1274,6 +1291,8 @@ public class BuildConfiguration {
this.testEnv = setupTestEnvironment();
+ this.testTimeout = ImmutableMap.copyOf(options.testTimeout);
+
this.transitiveOptionDetails = computeOptionsMap(buildOptions, fragments.values());
ImmutableMap.Builder<String, String> globalMakeEnvBuilder = ImmutableMap.builder();
@@ -1717,6 +1736,11 @@ public class BuildConfiguration {
return testEnv.getFixedEnv();
}
+ /** Returns test timeout mapping as set by --test_timeout options. */
+ public ImmutableMap<TestTimeout, Duration> getTestTimeout() {
+ return testTimeout;
+ }
+
/**
* Returns user-specified test environment variables and their values, as set by the
* {@code --test_env} options. It is incomplete in that it is not a superset of the