aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java20
1 files changed, 16 insertions, 4 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 3d9b5d3509..ff22af1993 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
@@ -749,7 +749,7 @@ public abstract class BuildViewTestCase extends FoundationTestCase {
String... lines) throws Exception {
eventCollector.clear();
ConfiguredTarget target = scratchConfiguredTarget(packageName, ruleName,
- lines);
+ lines);
assertFalse(
"Rule '" + "//" + packageName + ":" + ruleName + "' did contain an error",
view.hasErrors(target));
@@ -1411,7 +1411,7 @@ public abstract class BuildViewTestCase extends FoundationTestCase {
protected String getErrorMsgWrongAttributeValue(String value, String... expected) {
return String.format("has to be one of %s instead of '%s'",
- StringUtil.joinEnglishList(ImmutableSet.copyOf(expected), "or", "'"), value);
+ StringUtil.joinEnglishList(ImmutableSet.copyOf(expected), "or", "'"), value);
}
protected String getErrorMsgMandatoryProviderMissing(String offendingRule, String providerName) {
@@ -1535,9 +1535,21 @@ public abstract class BuildViewTestCase extends FoundationTestCase {
*/
protected Artifact artifactByPath(Iterable<Artifact> artifacts, String... suffixes) {
Artifact artifact = getFirstArtifactEndingWith(artifacts, suffixes[0]);
-
+ Action action = null;
for (int i = 1; i < suffixes.length; i++) {
- artifacts = getGeneratingAction(artifact).getInputs();
+ if (artifact == null) {
+ if (action == null) {
+ throw new IllegalStateException("No suffix " + suffixes[0] + " among artifacts: "
+ + ActionsTestUtil.baseArtifactNames(artifacts));
+ } else {
+ throw new IllegalStateException("No suffix " + suffixes[i]
+ + " among inputs of action " + action.describe() + ": "
+ + ActionsTestUtil.baseArtifactNames(artifacts));
+ }
+ }
+
+ action = getGeneratingAction(artifact);
+ artifacts = action.getInputs();
artifact = getFirstArtifactEndingWith(artifacts, suffixes[i]);
}