aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/testutil
diff options
context:
space:
mode:
authorGravatar jcater <jcater@google.com>2017-07-07 12:53:56 -0400
committerGravatar John Cater <jcater@google.com>2017-07-07 13:38:03 -0400
commit4b2be4c368c211860f89cb7e8472558576fdc04f (patch)
tree1d2a30aeea2220b79d4bef4b0ff81a49e2e3685f /src/test/java/com/google/devtools/build/lib/testutil
parentc73fda58e1ec505f7356ea051b4f27e82d92d5aa (diff)
Fix BuildRuleWithDefaultsBuilder to work properly with NODEP_LABEL attributes.
NODEP_LABEL attributes are not allowed to set file types, but populateLabelAttributes assumes that every label attribute has a file type set. Fix this by adding in better checks. PiperOrigin-RevId: 161212141
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/testutil')
-rw-r--r--src/test/java/com/google/devtools/build/lib/testutil/BuildRuleWithDefaultsBuilder.java10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/testutil/BuildRuleWithDefaultsBuilder.java b/src/test/java/com/google/devtools/build/lib/testutil/BuildRuleWithDefaultsBuilder.java
index e0e6b77407..183ff66c7d 100644
--- a/src/test/java/com/google/devtools/build/lib/testutil/BuildRuleWithDefaultsBuilder.java
+++ b/src/test/java/com/google/devtools/build/lib/testutil/BuildRuleWithDefaultsBuilder.java
@@ -24,7 +24,6 @@ import com.google.devtools.build.lib.syntax.Type.LabelClass;
import com.google.devtools.build.lib.syntax.Type.ListType;
import com.google.devtools.build.lib.util.FileTypeSet;
import com.google.devtools.build.lib.util.Preconditions;
-
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
@@ -96,13 +95,16 @@ public class BuildRuleWithDefaultsBuilder extends BuildRuleBuilder {
String label = null;
if (attribute.getAllowedFileTypesPredicate() != FileTypeSet.NO_FILE) {
// Try to populate with files first
- String extension = null;
+ String extension = "";
if (attribute.getAllowedFileTypesPredicate() == FileTypeSet.ANY_FILE) {
extension = ".txt";
- } else {
+ } else if (attribute.getAllowedFileTypesPredicate() != null) {
FileTypeSet fileTypes = attribute.getAllowedFileTypesPredicate();
// This argument should always hold, if not that means a Blaze design/implementation error
- Preconditions.checkArgument(!fileTypes.getExtensions().isEmpty());
+ Preconditions.checkArgument(
+ !fileTypes.getExtensions().isEmpty(),
+ "Attribute %s does not have any allowed file types",
+ attribute.getName());
extension = fileTypes.getExtensions().get(0);
}
label = getDummyFileLabel(rulePkg, filePkg, extension, attrType);