aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2016-08-02 16:34:24 +0000
committerGravatar Yun Peng <pcloudy@google.com>2016-08-03 07:56:30 +0000
commit23d0a3a3f2c712cdc7d7c0f47503758a64c54843 (patch)
tree156ca966ad1b7dc46cefacac3f2f5ff7b87a6543 /src
parent48a94d3582ae60d045dd25a6bf542ea6daec623f (diff)
Handle some previously unhandled scenarios of cycle reporting for TEST_COMPLETION and TARGET_COMPLETION nodes.
Fixes #1323. -- MOS_MIGRATED_REVID=129106695
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ActionArtifactCycleReporter.java18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ActionArtifactCycleReporter.java b/src/main/java/com/google/devtools/build/lib/skyframe/ActionArtifactCycleReporter.java
index b68665bfd0..86b7371c47 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ActionArtifactCycleReporter.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ActionArtifactCycleReporter.java
@@ -22,6 +22,7 @@ import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.pkgcache.PackageProvider;
import com.google.devtools.build.lib.skyframe.ArtifactSkyKey.OwnedArtifact;
import com.google.devtools.build.lib.skyframe.TargetCompletionValue.TargetCompletionKey;
+import com.google.devtools.build.lib.skyframe.TestCompletionValue.TestCompletionKey;
import com.google.devtools.build.skyframe.CycleInfo;
import com.google.devtools.build.skyframe.SkyFunctionName;
import com.google.devtools.build.skyframe.SkyKey;
@@ -34,7 +35,8 @@ public class ActionArtifactCycleReporter extends AbstractLabelCycleReporter {
private static final Predicate<SkyKey> IS_ARTIFACT_OR_ACTION_SKY_KEY = Predicates.or(
SkyFunctions.isSkyFunction(SkyFunctions.ARTIFACT),
SkyFunctions.isSkyFunction(SkyFunctions.ACTION_EXECUTION),
- SkyFunctions.isSkyFunction(SkyFunctions.TARGET_COMPLETION));
+ SkyFunctions.isSkyFunction(SkyFunctions.TARGET_COMPLETION),
+ SkyFunctions.isSkyFunction(SkyFunctions.TEST_COMPLETION));
ActionArtifactCycleReporter(PackageProvider packageProvider) {
super(packageProvider);
@@ -53,9 +55,12 @@ public class ActionArtifactCycleReporter extends AbstractLabelCycleReporter {
} else if (arg instanceof TargetCompletionKey
&& skyFunctionName.equals(SkyFunctions.TARGET_COMPLETION)) {
return "configured target: " + ((TargetCompletionKey) arg).labelAndConfiguration().getLabel();
+ } else if (arg instanceof TestCompletionKey
+ && skyFunctionName.equals(SkyFunctions.TEST_COMPLETION)) {
+ return "test target: " + ((TestCompletionKey) arg).labelAndConfiguration().getLabel();
}
throw new IllegalStateException(
- "Argument is not Action, TargetCompletion, or OwnedArtifact: " + arg);
+ "Argument is not Action, TargetCompletion, TestCompletion or OwnedArtifact: " + arg);
}
@Override
@@ -65,8 +70,15 @@ public class ActionArtifactCycleReporter extends AbstractLabelCycleReporter {
return ((OwnedArtifact) arg).getArtifact().getOwner();
} else if (arg instanceof Action) {
return ((Action) arg).getOwner().getLabel();
+ } else if (arg instanceof TargetCompletionKey
+ && key.functionName().equals(SkyFunctions.TARGET_COMPLETION)) {
+ return ((TargetCompletionKey) arg).labelAndConfiguration().getLabel();
+ } else if (arg instanceof TestCompletionKey
+ && key.functionName().equals(SkyFunctions.TEST_COMPLETION)) {
+ return ((TestCompletionKey) arg).labelAndConfiguration().getLabel();
}
- throw new IllegalStateException("Argument is not Action or OwnedArtifact: " + arg);
+ throw new IllegalStateException(
+ "Argument is not Action, TargetCompletion, TestCompletion or OwnedArtifact: " + arg);
}
@Override