diff options
author | 2016-08-05 21:07:02 +0000 | |
---|---|---|
committer | 2016-08-08 08:08:13 +0000 | |
commit | 66cadd3d1c6014799616ba22f9d1381a82006c48 (patch) | |
tree | b12a01b53e88aeb239ad29c1c37f990e7704a322 /src/test/java | |
parent | 57472638ce94796deabc3d3db4ba851a1d0d600f (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.java | 19 |
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. |