aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/analysis/util
diff options
context:
space:
mode:
authorGravatar Lukacs Berki <lberki@google.com>2015-03-27 10:16:35 +0000
committerGravatar Lukacs Berki <lberki@google.com>2015-03-27 13:12:35 +0000
commit84c94a2eb67b8d132e75b4e6074612c857f75c44 (patch)
tree25059c7ec1cb6fb78650e9aff4c992fa2f977953 /src/test/java/com/google/devtools/build/lib/analysis/util
parentbd0174f33405775ad7d9f4f9c57ccf3643be429f (diff)
Description redacted.
-- MOS_MIGRATED_REVID=89680998
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/analysis/util')
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
index 9982c73a81..46210c39be 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
@@ -13,6 +13,8 @@
// limitations under the License.
package com.google.devtools.build.lib.analysis.util;
+import static com.google.devtools.build.lib.actions.util.ActionsTestUtil.getFirstArtifactEndingWith;
+
import com.google.common.base.Function;
import com.google.common.base.Preconditions;
import com.google.common.base.Predicate;
@@ -1386,4 +1388,23 @@ public abstract class BuildViewTestCase extends FoundationTestCase {
return basenames.build();
}
+
+ /**
+ * Finds an artifact in the transitive closure of a set of other artifacts by following a path
+ * based on artifact name suffixes.
+ *
+ * <p>This selects the first artifact in the input set that matches the first suffix, then selects
+ * the first artifact in the inputs of its generating action that matches the second suffix etc.,
+ * and repeats this until the supplied suffixes run out.
+ */
+ protected Artifact artifactByPath(Iterable<Artifact> artifacts, String... suffixes) {
+ Artifact artifact = getFirstArtifactEndingWith(artifacts, suffixes[0]);
+
+ for (int i = 1; i < suffixes.length; i++) {
+ artifacts = getGeneratingAction(artifact).getInputs();
+ artifact = getFirstArtifactEndingWith(artifacts, suffixes[i]);
+ }
+
+ return artifact;
+ }
}