diff options
author | 2018-04-17 07:09:37 -0700 | |
---|---|---|
committer | 2018-04-17 07:12:15 -0700 | |
commit | e3a0b09598baff1860a330d63284ab1fb98a76f4 (patch) | |
tree | 7913c72211a9bf5a1174bd7de92233623c5f3ad4 /src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java | |
parent | b701530ca8beaf190143b502828f4d91132981b1 (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.java | 24 |
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 |