Add type assertion that TreeFileArtifact's parentTreeArtifact member is a
SpecialArtifact.
PiperOrigin-RevId: 184539696
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTest.java
index bd8f78e..1699fc2 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTest.java
@@ -178,7 +178,7 @@
@Test
public void testActionTreeArtifactOutput() throws Throwable {
- Artifact artifact = createDerivedTreeArtifactWithAction("treeArtifact");
+ SpecialArtifact artifact = createDerivedTreeArtifactWithAction("treeArtifact");
TreeFileArtifact treeFileArtifact1 = createFakeTreeFileArtifact(artifact, "child1", "hello1");
TreeFileArtifact treeFileArtifact2 = createFakeTreeFileArtifact(artifact, "child2", "hello2");
@@ -192,13 +192,12 @@
@Test
public void testSpawnActionTemplate() throws Throwable {
// artifact1 is a tree artifact generated by normal action.
- Artifact artifact1 = createDerivedTreeArtifactWithAction("treeArtifact1");
+ SpecialArtifact artifact1 = createDerivedTreeArtifactWithAction("treeArtifact1");
createFakeTreeFileArtifact(artifact1, "child1", "hello1");
createFakeTreeFileArtifact(artifact1, "child2", "hello2");
-
// artifact2 is a tree artifact generated by action template.
- Artifact artifact2 = createDerivedTreeArtifactOnly("treeArtifact2");
+ SpecialArtifact artifact2 = createDerivedTreeArtifactOnly("treeArtifact2");
TreeFileArtifact treeFileArtifact1 = createFakeTreeFileArtifact(artifact2, "child1", "hello1");
TreeFileArtifact treeFileArtifact2 = createFakeTreeFileArtifact(artifact2, "child2", "hello2");
@@ -215,19 +214,19 @@
@Test
public void testConsecutiveSpawnActionTemplates() throws Throwable {
// artifact1 is a tree artifact generated by normal action.
- Artifact artifact1 = createDerivedTreeArtifactWithAction("treeArtifact1");
+ SpecialArtifact artifact1 = createDerivedTreeArtifactWithAction("treeArtifact1");
createFakeTreeFileArtifact(artifact1, "child1", "hello1");
createFakeTreeFileArtifact(artifact1, "child2", "hello2");
// artifact2 is a tree artifact generated by action template.
- Artifact artifact2 = createDerivedTreeArtifactOnly("treeArtifact2");
+ SpecialArtifact artifact2 = createDerivedTreeArtifactOnly("treeArtifact2");
createFakeTreeFileArtifact(artifact2, "child1", "hello1");
createFakeTreeFileArtifact(artifact2, "child2", "hello2");
actions.add(
ActionsTestUtil.createDummySpawnActionTemplate(artifact1, artifact2));
// artifact3 is a tree artifact generated by action template.
- Artifact artifact3 = createDerivedTreeArtifactOnly("treeArtifact3");
+ SpecialArtifact artifact3 = createDerivedTreeArtifactOnly("treeArtifact3");
TreeFileArtifact treeFileArtifact1 = createFakeTreeFileArtifact(artifact3, "child1", "hello1");
TreeFileArtifact treeFileArtifact2 = createFakeTreeFileArtifact(artifact3, "child2", "hello2");
actions.add(
@@ -270,13 +269,13 @@
fullPath, middlemanRoot, middlemanRoot.getExecPath().getRelative(path), ALL_OWNER);
}
- private Artifact createDerivedTreeArtifactWithAction(String path) {
- Artifact treeArtifact = createDerivedTreeArtifactOnly(path);
+ private SpecialArtifact createDerivedTreeArtifactWithAction(String path) {
+ SpecialArtifact treeArtifact = createDerivedTreeArtifactOnly(path);
actions.add(new DummyAction(ImmutableList.<Artifact>of(), treeArtifact));
return treeArtifact;
}
- private Artifact createDerivedTreeArtifactOnly(String path) {
+ private SpecialArtifact createDerivedTreeArtifactOnly(String path) {
PathFragment execPath = PathFragment.create("out").getRelative(path);
Path fullPath = root.getRelative(execPath);
return new SpecialArtifact(
@@ -287,8 +286,8 @@
SpecialArtifactType.TREE);
}
- private TreeFileArtifact createFakeTreeFileArtifact(Artifact treeArtifact,
- String parentRelativePath, String content) throws Exception {
+ private TreeFileArtifact createFakeTreeFileArtifact(
+ SpecialArtifact treeArtifact, String parentRelativePath, String content) throws Exception {
TreeFileArtifact treeFileArtifact = ActionInputHelper.treeFileArtifact(
treeArtifact, PathFragment.create(parentRelativePath));
Path path = treeFileArtifact.getPath();
@@ -361,9 +360,9 @@
try {
if (output.isTreeArtifact()) {
TreeFileArtifact treeFileArtifact1 = ActionInputHelper.treeFileArtifact(
- output, PathFragment.create("child1"));
+ (SpecialArtifact) output, PathFragment.create("child1"));
TreeFileArtifact treeFileArtifact2 = ActionInputHelper.treeFileArtifact(
- output, PathFragment.create("child2"));
+ (SpecialArtifact) output, PathFragment.create("child2"));
TreeArtifactValue treeArtifactValue = TreeArtifactValue.create(ImmutableMap.of(
treeFileArtifact1, FileArtifactValue.create(treeFileArtifact1),
treeFileArtifact2, FileArtifactValue.create(treeFileArtifact2)));