aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java
diff options
context:
space:
mode:
authorGravatar Greg Estren <gregce@google.com>2016-08-09 22:36:51 +0000
committerGravatar Yue Gan <yueg@google.com>2016-08-10 08:38:45 +0000
commit373e3e28274cca5b87f48abe33884edb84016dd3 (patch)
tree61744785eadf07f70d0a9a3264c00cf992441190 /src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java
parenteff8b365c172b7e904ac6f7bba0c893fed7c91a8 (diff)
Implements dynamic split transitions on latebound attributes.
With this change, dynamic configs are at full feature parity for split transitions (minus some small differences in composed transitions from BuildConfigurationCollection.configurationHook). -- MOS_MIGRATED_REVID=129802414
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java b/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java
index b1539f8766..d48756ad1b 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java
@@ -37,6 +37,7 @@ import com.google.devtools.build.lib.actions.Actions;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.FailAction;
import com.google.devtools.build.lib.analysis.BuildView.AnalysisResult;
+import com.google.devtools.build.lib.analysis.config.ConfigurationFactory;
import com.google.devtools.build.lib.analysis.config.InvalidConfigurationException;
import com.google.devtools.build.lib.analysis.util.AnalysisMock;
import com.google.devtools.build.lib.analysis.util.BuildViewTestBase;
@@ -58,6 +59,7 @@ import com.google.devtools.build.skyframe.NotifyingHelper.Listener;
import com.google.devtools.build.skyframe.NotifyingHelper.Order;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.TrackingAwaiter;
+
import java.util.Collection;
import java.util.LinkedHashSet;
import java.util.concurrent.CountDownLatch;
@@ -1252,6 +1254,25 @@ public class BuildViewTest extends BuildViewTestBase {
+ "required config fragments: Jvm");
}
+ @Test
+ public void lateBoundSplitAttributeConfigs() throws Exception {
+ useRuleClassProvider(LateBoundSplitUtil.getRuleClassProvider());
+ // Register the latebound split fragment with the config creation environment.
+ useConfigurationFactory(new ConfigurationFactory(
+ ruleClassProvider.getConfigurationCollectionFactory(),
+ ruleClassProvider.getConfigurationFragments()));
+
+ scratch.file("foo/BUILD",
+ "rule_with_latebound_split(",
+ " name = 'foo')",
+ "sh_binary(",
+ " name = 'latebound_dep',",
+ " srcs = ['latebound_dep.sh'])");
+ update("//foo:foo");
+ assertNotNull(getConfiguredTarget("//foo:foo"));
+ // TODO(bazel-team): also check that the dep is created in each expected configuration.
+ }
+
/** Runs the same test with the reduced loading phase. */
@TestSpec(size = Suite.SMALL_TESTS)
@RunWith(JUnit4.class)