aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/testutil/BlazeTestUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/testutil/BlazeTestUtils.java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/testutil/BlazeTestUtils.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/testutil/BlazeTestUtils.java b/src/test/java/com/google/devtools/build/lib/testutil/BlazeTestUtils.java
index 1315ac4c58..6c5b83fe35 100644
--- a/src/test/java/com/google/devtools/build/lib/testutil/BlazeTestUtils.java
+++ b/src/test/java/com/google/devtools/build/lib/testutil/BlazeTestUtils.java
@@ -14,9 +14,14 @@
package com.google.devtools.build.lib.testutil;
+import com.google.common.base.Function;
import com.google.common.base.Joiner;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Iterables;
import com.google.devtools.build.lib.analysis.BlazeDirectories;
import com.google.devtools.build.lib.analysis.config.BinTools;
+import com.google.devtools.build.lib.cmdline.Label;
+import com.google.devtools.build.lib.cmdline.LabelSyntaxException;
import com.google.devtools.build.lib.util.Preconditions;
import com.google.devtools.build.lib.vfs.FileSystemUtils;
import com.google.devtools.build.lib.vfs.Path;
@@ -25,6 +30,7 @@ import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.List;
/**
* Some static utility functions for testing Blaze code. In contrast to {@link TestUtils}, these
@@ -117,4 +123,23 @@ public class BlazeTestUtils {
path.setLastModifiedTime(newMtime);
} while (path.getLastModifiedTime() == prevMtime);
}
+
+ public static Label convertLabel(Label label) {
+ try {
+ return label.getPackageIdentifier().getRepository().isDefault()
+ ? Label.create(label.getPackageIdentifier().makeAbsolute(), label.getName())
+ : label;
+ } catch (LabelSyntaxException e) {
+ throw new IllegalStateException(e);
+ }
+ }
+
+ public static List<Label> convertLabels(Iterable<Label> labels) {
+ return ImmutableList.copyOf(Iterables.transform(labels, new Function<Label, Label>() {
+ @Override
+ public Label apply(Label label) {
+ return convertLabel(label);
+ }
+ }));
+ }
}