Add --incompatible_disable_data_transition for 'cfg = "data"' Skylark calls
PiperOrigin-RevId: 202400312
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
index 1f75b1e..14d4de5 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
@@ -570,6 +570,20 @@
}
@Test
+ public void incompatibleDataTransition() throws Exception {
+ ev = createEvaluationTestCase(
+ SkylarkSemantics.DEFAULT_SEMANTICS
+ .toBuilder()
+ .incompatibleDisallowDataTransition(true)
+ .build());
+ ev.initialize();
+ EvalException expected =
+ assertThrows(EvalException.class, () -> eval("attr.label(cfg = 'data')"));
+ assertThat(expected).hasMessageThat().contains(
+ "Using cfg = \"data\" on an attribute is a noop and no longer supported");
+ }
+
+ @Test
public void testAttrValues() throws Exception {
Attribute attr = buildAttribute("a1", "attr.string(values = ['ab', 'cd'])");
PredicateWithMessage<Object> predicate = attr.getAllowedValues();