diff options
author | 2015-03-27 10:16:35 +0000 | |
---|---|---|
committer | 2015-03-27 13:12:35 +0000 | |
commit | 84c94a2eb67b8d132e75b4e6074612c857f75c44 (patch) | |
tree | 25059c7ec1cb6fb78650e9aff4c992fa2f977953 /src/test/java/com/google/devtools/build/lib/analysis/util | |
parent | bd0174f33405775ad7d9f4f9c57ccf3643be429f (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.java | 21 |
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; + } } |