aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java
diff options
context:
space:
mode:
authorGravatar Greg Estren <gregce@google.com>2016-08-05 21:07:02 +0000
committerGravatar Yue Gan <yueg@google.com>2016-08-08 08:08:13 +0000
commit66cadd3d1c6014799616ba22f9d1381a82006c48 (patch)
treeb12a01b53e88aeb239ad29c1c37f990e7704a322 /src/test/java
parent57472638ce94796deabc3d3db4ba851a1d0d600f (diff)
Implements dynamic split transitions (minus latebound attribute splits).
With the prereq work behind this, this is surprisingly straightforward. The main change is to eliminate BuildConfiguration.SplittableTransitionApplier, make both DynamicTransitionApplier and StaticTransitionApplier split-aware, and add awareness of this to ConfiguredTargetFunction.trimConfigurations. Latebound splits will follow next. -- MOS_MIGRATED_REVID=129480309
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
index bb630a3c55..4fdde18aab 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
@@ -173,6 +173,7 @@ public abstract class BuildViewTestCase extends FoundationTestCase {
protected BuildConfigurationCollection masterConfig;
protected BuildConfiguration targetConfig; // "target" or "build" config
private List<String> configurationArgs;
+ private boolean useDynamicConfigs;
protected OptionsParser optionsParser;
private PackageCacheOptions packageCacheOptions;
@@ -381,13 +382,27 @@ public abstract class BuildViewTestCase extends FoundationTestCase {
* @throws IllegalArgumentException
*/
protected final void useConfiguration(String... args) throws Exception {
- masterConfig = createConfigurations(args);
+ String[] actualArgs;
+ if (useDynamicConfigs) {
+ actualArgs = Arrays.copyOf(args, args.length + 1);
+ actualArgs[args.length] = "--experimental_dynamic_configs";
+ } else {
+ actualArgs = args;
+ }
+ masterConfig = createConfigurations(actualArgs);
targetConfig = getTargetConfiguration();
- configurationArgs = Arrays.asList(args);
+ configurationArgs = Arrays.asList(actualArgs);
createBuildView();
}
/**
+ * Makes subsequent {@link #useConfiguration} calls automatically enable dynamic configurations.
+ */
+ protected final void useDynamicConfigurations() {
+ useDynamicConfigs = true;
+ }
+
+ /**
* Creates BuildView using current hostConfig/targetConfig values.
* Ensures that hostConfig is either identical to the targetConfig or has
* 'host' short name.