Add allow_single_file in attr.label, deprecate single_file.
--
MOS_MIGRATED_REVID=126620866
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 0716654..f73d1b9 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
@@ -166,11 +166,28 @@
}
@Test
+ public void testAttrAllowedSingleFileTypesWrongType() throws Exception {
+ checkErrorContains(
+ "allow_single_file should be a boolean or a string list",
+ "attr.label(allow_single_file = 18)");
+ }
+
+ @Test
public void testAttrWithList() throws Exception {
Attribute attr = evalAttributeDefinition("attr.label_list(allow_files = ['.xml'])")
.build("a1");
assertTrue(attr.getAllowedFileTypesPredicate().apply("a.xml"));
assertFalse(attr.getAllowedFileTypesPredicate().apply("a.txt"));
+ assertFalse(attr.isSingleArtifact());
+ }
+
+ @Test
+ public void testAttrSingleFileWithList() throws Exception {
+ Attribute attr = evalAttributeDefinition("attr.label(allow_single_file = ['.xml'])")
+ .build("a1");
+ assertTrue(attr.getAllowedFileTypesPredicate().apply("a.xml"));
+ assertFalse(attr.getAllowedFileTypesPredicate().apply("a.txt"));
+ assertTrue(attr.isSingleArtifact());
}
@Test