aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build
diff options
context:
space:
mode:
authorGravatar cparsons <cparsons@google.com>2018-07-16 13:33:33 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-07-16 13:35:11 -0700
commite506858c14d9ffceedbb22988f7c65fe70df5536 (patch)
treef482330e0d82fee8646b6e6c7b86848e4a7320cd /src/test/java/com/google/devtools/build
parentde3d8bf821dba97471ab4ccfc1f1b1559f0a1cac (diff)
Add --incompatible_disable_deprecated_attr_params to disable some deprecated parameters of the skylark attr module.
RELNOTES: None. PiperOrigin-RevId: 204797954
Diffstat (limited to 'src/test/java/com/google/devtools/build')
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/SkylarkSemanticsConsistencyTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java26
2 files changed, 28 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/packages/SkylarkSemanticsConsistencyTest.java b/src/test/java/com/google/devtools/build/lib/packages/SkylarkSemanticsConsistencyTest.java
index 4a8e303a50..a96d928283 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/SkylarkSemanticsConsistencyTest.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/SkylarkSemanticsConsistencyTest.java
@@ -123,6 +123,7 @@ public class SkylarkSemanticsConsistencyTest {
"--incompatible_bzl_disallow_load_after_statement=" + rand.nextBoolean(),
"--incompatible_depset_is_not_iterable=" + rand.nextBoolean(),
"--incompatible_depset_union=" + rand.nextBoolean(),
+ "--incompatible_disable_deprecated_attr_params=" + rand.nextBoolean(),
"--incompatible_disable_objc_provider_resources=" + rand.nextBoolean(),
"--incompatible_disallow_data_transition=" + rand.nextBoolean(),
"--incompatible_disallow_dict_plus=" + rand.nextBoolean(),
@@ -151,6 +152,7 @@ public class SkylarkSemanticsConsistencyTest {
.incompatibleBzlDisallowLoadAfterStatement(rand.nextBoolean())
.incompatibleDepsetIsNotIterable(rand.nextBoolean())
.incompatibleDepsetUnion(rand.nextBoolean())
+ .incompatibleDisableDeprecatedAttrParams(rand.nextBoolean())
.incompatibleDisableObjcProviderResources(rand.nextBoolean())
.incompatibleDisallowDataTransition(rand.nextBoolean())
.incompatibleDisallowDictPlus(rand.nextBoolean())
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 14d4de5540..5378df232e 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
@@ -199,6 +199,32 @@ public class SkylarkRuleClassFunctionsTest extends SkylarkTestCase {
}
@Test
+ public void testDisableDeprecatedParams() throws Exception {
+ ev = createEvaluationTestCase(
+ SkylarkSemantics.DEFAULT_SEMANTICS
+ .toBuilder()
+ .incompatibleDisableDeprecatedAttrParams(true)
+ .build());
+ ev.initialize();
+
+ // Verify 'single_file' deprecation.
+ EvalException expected =
+ assertThrows(EvalException.class, () -> eval("attr.label(single_file = True)"));
+ assertThat(expected).hasMessageThat().contains(
+ "'single_file' is no longer supported. use allow_single_file instead.");
+ Attribute attr = buildAttribute("a1", "attr.label(allow_single_file = ['.xml'])");
+ assertThat(attr.isSingleArtifact()).isTrue();
+
+ // Verify 'non_empty' deprecation.
+ expected =
+ assertThrows(EvalException.class, () -> eval("attr.string_list(non_empty=True)"));
+ assertThat(expected).hasMessageThat().contains(
+ "'non_empty' is no longer supported. use allow_empty instead.");
+ attr = buildAttribute("a2", "attr.string_list(allow_empty=False)");
+ assertThat(attr.isNonEmpty()).isTrue();
+ }
+
+ @Test
public void testAttrAllowedSingleFileTypesWrongType() throws Exception {
checkErrorContains(
"allow_single_file should be a boolean or a string list",