aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/skyframe
diff options
context:
space:
mode:
authorGravatar cpeyser <cpeyser@google.com>2018-02-05 09:33:15 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-05 09:35:15 -0800
commitac09f0a1b39092aa92cd86ffe51b30488e3ae312 (patch)
tree5da2c93a53102c82258a2637b9e853c7bfb2dd2c /src/test/java/com/google/devtools/build/lib/skyframe
parent98f703b46e08b6795af609b6f453ce3884f28a28 (diff)
Add type assertion that TreeFileArtifact's parentTreeArtifact member is a
SpecialArtifact. PiperOrigin-RevId: 184539696
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/skyframe')
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunctionTest.java25
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTest.java27
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java12
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactBuildTest.java60
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactMetadataTest.java13
5 files changed, 68 insertions, 69 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunctionTest.java
index b6a834ef55..147b8b2a0c 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunctionTest.java
@@ -96,9 +96,9 @@ public final class ActionTemplateExpansionFunctionTest extends FoundationTestCas
@Test
public void testActionTemplateExpansionFunction() throws Exception {
- Artifact inputTreeArtifact = createAndPopulateTreeArtifact(
- "inputTreeArtifact", "child0", "child1", "child2");
- Artifact outputTreeArtifact = createTreeArtifact("outputTreeArtifact");
+ SpecialArtifact inputTreeArtifact =
+ createAndPopulateTreeArtifact("inputTreeArtifact", "child0", "child1", "child2");
+ SpecialArtifact outputTreeArtifact = createTreeArtifact("outputTreeArtifact");
SpawnActionTemplate spawnActionTemplate = ActionsTestUtil.createDummySpawnActionTemplate(
inputTreeArtifact, outputTreeArtifact);
@@ -120,10 +120,9 @@ public final class ActionTemplateExpansionFunctionTest extends FoundationTestCas
@Test
public void testThrowsOnActionConflict() throws Exception {
- Artifact inputTreeArtifact = createAndPopulateTreeArtifact(
- "inputTreeArtifact", "child0", "child1", "child2");
- Artifact outputTreeArtifact = createTreeArtifact("outputTreeArtifact");
-
+ SpecialArtifact inputTreeArtifact =
+ createAndPopulateTreeArtifact("inputTreeArtifact", "child0", "child1", "child2");
+ SpecialArtifact outputTreeArtifact = createTreeArtifact("outputTreeArtifact");
OutputPathMapper mapper = new OutputPathMapper() {
@Override
@@ -148,9 +147,9 @@ public final class ActionTemplateExpansionFunctionTest extends FoundationTestCas
@Test
public void testThrowsOnArtifactPrefixConflict() throws Exception {
- Artifact inputTreeArtifact = createAndPopulateTreeArtifact(
- "inputTreeArtifact", "child0", "child1", "child2");
- Artifact outputTreeArtifact = createTreeArtifact("outputTreeArtifact");
+ SpecialArtifact inputTreeArtifact =
+ createAndPopulateTreeArtifact("inputTreeArtifact", "child0", "child1", "child2");
+ SpecialArtifact outputTreeArtifact = createTreeArtifact("outputTreeArtifact");
OutputPathMapper mapper = new OutputPathMapper() {
private int i = 0;
@@ -205,7 +204,7 @@ public final class ActionTemplateExpansionFunctionTest extends FoundationTestCas
return actionList.build();
}
- private Artifact createTreeArtifact(String path) {
+ private SpecialArtifact createTreeArtifact(String path) {
PathFragment execPath = PathFragment.create("out").getRelative(path);
Path fullPath = rootDirectory.getRelative(execPath);
return new SpecialArtifact(
@@ -216,9 +215,9 @@ public final class ActionTemplateExpansionFunctionTest extends FoundationTestCas
SpecialArtifactType.TREE);
}
- private Artifact createAndPopulateTreeArtifact(String path, String... childRelativePaths)
+ private SpecialArtifact createAndPopulateTreeArtifact(String path, String... childRelativePaths)
throws Exception {
- Artifact treeArtifact = createTreeArtifact(path);
+ SpecialArtifact treeArtifact = createTreeArtifact(path);
Map<TreeFileArtifact, FileArtifactValue> treeFileArtifactMap = new LinkedHashMap<>();
for (String childRelativePath : childRelativePaths) {
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 bd8f78eb47..1699fc25fc 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 @@ public class ArtifactFunctionTest extends ArtifactFunctionTestCase {
@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 @@ public class ArtifactFunctionTest extends ArtifactFunctionTestCase {
@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 @@ public class ArtifactFunctionTest extends ArtifactFunctionTestCase {
@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 @@ public class ArtifactFunctionTest extends ArtifactFunctionTestCase {
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 @@ public class ArtifactFunctionTest extends ArtifactFunctionTestCase {
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 @@ public class ArtifactFunctionTest extends ArtifactFunctionTestCase {
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)));
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java
index d33c259caa..f7a989a4ae 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java
@@ -419,25 +419,25 @@ public class FilesystemValueCheckerTest {
// To decouple FileSystemValueTester checking from Action execution, we inject TreeArtifact
// contents into ActionExecutionValues.
- Artifact out1 = createTreeArtifact("one");
+ SpecialArtifact out1 = createTreeArtifact("one");
TreeFileArtifact file11 = treeFileArtifact(out1, "fizz");
FileSystemUtils.createDirectoryAndParents(out1.getPath());
FileSystemUtils.writeContentAsLatin1(file11.getPath(), "buzz");
- Artifact out2 = createTreeArtifact("two");
+ SpecialArtifact out2 = createTreeArtifact("two");
FileSystemUtils.createDirectoryAndParents(out2.getPath().getChild("subdir"));
TreeFileArtifact file21 = treeFileArtifact(out2, "moony");
TreeFileArtifact file22 = treeFileArtifact(out2, "subdir/wormtail");
FileSystemUtils.writeContentAsLatin1(file21.getPath(), "padfoot");
FileSystemUtils.writeContentAsLatin1(file22.getPath(), "prongs");
- Artifact outEmpty = createTreeArtifact("empty");
+ SpecialArtifact outEmpty = createTreeArtifact("empty");
FileSystemUtils.createDirectoryAndParents(outEmpty.getPath());
- Artifact outUnchanging = createTreeArtifact("untouched");
+ SpecialArtifact outUnchanging = createTreeArtifact("untouched");
FileSystemUtils.createDirectoryAndParents(outUnchanging.getPath());
- Artifact last = createTreeArtifact("zzzzzzzzzz");
+ SpecialArtifact last = createTreeArtifact("zzzzzzzzzz");
FileSystemUtils.createDirectoryAndParents(last.getPath());
SkyKey actionLookupKey =
@@ -614,7 +614,7 @@ public class FilesystemValueCheckerTest {
outputPath.getRelative(relPath), ArtifactRoot.asDerivedRoot(fs.getPath("/"), outputPath));
}
- private Artifact createTreeArtifact(String relPath) throws IOException {
+ private SpecialArtifact createTreeArtifact(String relPath) throws IOException {
Path outputDir = fs.getPath("/bin");
Path outputPath = outputDir.getRelative(relPath);
outputDir.createDirectory();
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactBuildTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactBuildTest.java
index 675030c84f..30b6c4caf8 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactBuildTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactBuildTest.java
@@ -93,12 +93,12 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
Artifact in;
- Artifact outOne;
+ SpecialArtifact outOne;
TreeFileArtifact outOneFileOne;
TreeFileArtifact outOneFileTwo;
Button buttonOne = new Button();
- Artifact outTwo;
+ SpecialArtifact outTwo;
TreeFileArtifact outTwoFileOne;
TreeFileArtifact outTwoFileTwo;
Button buttonTwo = new Button();
@@ -187,10 +187,10 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
/** Unchanged TreeArtifact outputs should not cause reexecution. */
@Test
public void testCacheCheckingForTreeArtifactsDoesNotCauseReexecution() throws Exception {
- Artifact outOne = createTreeArtifact("outputOne");
+ SpecialArtifact outOne = createTreeArtifact("outputOne");
Button buttonOne = new Button();
- Artifact outTwo = createTreeArtifact("outputTwo");
+ SpecialArtifact outTwo = createTreeArtifact("outputTwo");
Button buttonTwo = new Button();
TouchingTestAction actionOne = new TouchingTestAction(
@@ -482,7 +482,7 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
@Test
public void testOutputsAreReadOnlyAndExecutable() throws Exception {
- final Artifact out = createTreeArtifact("output");
+ final SpecialArtifact out = createTreeArtifact("output");
TreeArtifactTestAction action =
new TreeArtifactTestAction(out) {
@@ -515,7 +515,7 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
@Test
public void testValidRelativeSymlinkAccepted() throws Exception {
- final Artifact out = createTreeArtifact("output");
+ final SpecialArtifact out = createTreeArtifact("output");
TreeArtifactTestAction action =
new TreeArtifactTestAction(out) {
@@ -545,7 +545,7 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
reporter.removeHandler(failFastHandler);
reporter.addHandler(storingEventHandler);
- final Artifact out = createTreeArtifact("output");
+ final SpecialArtifact out = createTreeArtifact("output");
TreeArtifactTestAction action =
new TreeArtifactTestAction(out) {
@@ -585,7 +585,7 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
reporter.removeHandler(failFastHandler);
reporter.addHandler(storingEventHandler);
- final Artifact out = createTreeArtifact("output");
+ final SpecialArtifact out = createTreeArtifact("output");
TreeArtifactTestAction action =
new TreeArtifactTestAction(out) {
@@ -621,7 +621,7 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
public void testAbsoluteSymlinkAccepted() throws Exception {
scratch.overwriteFile("/random/pointer");
- final Artifact out = createTreeArtifact("output");
+ final SpecialArtifact out = createTreeArtifact("output");
TreeArtifactTestAction action =
new TreeArtifactTestAction(out) {
@@ -651,7 +651,7 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
reporter.removeHandler(failFastHandler);
reporter.addHandler(storingEventHandler);
- final Artifact out = createTreeArtifact("output");
+ final SpecialArtifact out = createTreeArtifact("output");
TreeArtifactTestAction action =
new TreeArtifactTestAction(out) {
@@ -729,7 +729,7 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
@Test
public void testExpandedActionsBuildInActionTemplate() throws Throwable {
// artifact1 is a tree artifact generated by a TouchingTestAction.
- Artifact artifact1 = createTreeArtifact("treeArtifact1");
+ SpecialArtifact artifact1 = createTreeArtifact("treeArtifact1");
TreeFileArtifact treeFileArtifactA = ActionInputHelper.treeFileArtifact(
artifact1, PathFragment.create("child1"));
TreeFileArtifact treeFileArtifactB = ActionInputHelper.treeFileArtifact(
@@ -737,7 +737,7 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
registerAction(new TouchingTestAction(treeFileArtifactA, treeFileArtifactB));
// artifact2 is a tree artifact generated by an action template.
- Artifact artifact2 = createTreeArtifact("treeArtifact2");
+ SpecialArtifact artifact2 = createTreeArtifact("treeArtifact2");
SpawnActionTemplate actionTemplate = ActionsTestUtil.createDummySpawnActionTemplate(
artifact1, artifact2);
registerAction(actionTemplate);
@@ -769,7 +769,7 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
reporter.removeHandler(failFastHandler);
// artifact1 is a tree artifact generated by a TouchingTestAction.
- Artifact artifact1 = createTreeArtifact("treeArtifact1");
+ SpecialArtifact artifact1 = createTreeArtifact("treeArtifact1");
TreeFileArtifact treeFileArtifactA = ActionInputHelper.treeFileArtifact(
artifact1, PathFragment.create("child1"));
TreeFileArtifact treeFileArtifactB = ActionInputHelper.treeFileArtifact(
@@ -777,7 +777,7 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
registerAction(new TouchingTestAction(treeFileArtifactA, treeFileArtifactB));
// artifact2 is a tree artifact generated by an action template.
- Artifact artifact2 = createTreeArtifact("treeArtifact2");
+ SpecialArtifact artifact2 = createTreeArtifact("treeArtifact2");
SpawnActionTemplate actionTemplate = ActionsTestUtil.createDummySpawnActionTemplate(
artifact1, artifact2);
registerAction(actionTemplate);
@@ -816,7 +816,7 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
reporter.removeHandler(failFastHandler);
// artifact1 is a tree artifact generated by a TouchingTestAction.
- Artifact artifact1 = createTreeArtifact("treeArtifact1");
+ SpecialArtifact artifact1 = createTreeArtifact("treeArtifact1");
TreeFileArtifact treeFileArtifactA = ActionInputHelper.treeFileArtifact(
artifact1, PathFragment.create("child1"));
TreeFileArtifact treeFileArtifactB = ActionInputHelper.treeFileArtifact(
@@ -824,7 +824,7 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
registerAction(new TouchingTestAction(treeFileArtifactA, treeFileArtifactB));
// artifact2 is a tree artifact generated by an action template.
- Artifact artifact2 = createTreeArtifact("treeArtifact2");
+ SpecialArtifact artifact2 = createTreeArtifact("treeArtifact2");
SpawnActionTemplate actionTemplate = ActionsTestUtil.createDummySpawnActionTemplate(
artifact1, artifact2);
registerAction(actionTemplate);
@@ -863,7 +863,7 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
reporter.removeHandler(failFastHandler);
// artifact1 is a tree artifact generated by a TouchingTestAction.
- Artifact artifact1 = createTreeArtifact("treeArtifact1");
+ SpecialArtifact artifact1 = createTreeArtifact("treeArtifact1");
TreeFileArtifact treeFileArtifactA = ActionInputHelper.treeFileArtifact(
artifact1, PathFragment.create("child1"));
TreeFileArtifact treeFileArtifactB = ActionInputHelper.treeFileArtifact(
@@ -871,7 +871,7 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
registerAction(new TouchingTestAction(treeFileArtifactA, treeFileArtifactB));
// artifact2 is a tree artifact generated by an action template.
- Artifact artifact2 = createTreeArtifact("treeArtifact2");
+ SpecialArtifact artifact2 = createTreeArtifact("treeArtifact2");
SpawnActionTemplate actionTemplate = ActionsTestUtil.createDummySpawnActionTemplate(
artifact1, artifact2);
registerAction(actionTemplate);
@@ -909,12 +909,12 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
reporter.removeHandler(failFastHandler);
// artifact1 is created by a action that throws.
- Artifact artifact1 = createTreeArtifact("treeArtifact1");
+ SpecialArtifact artifact1 = createTreeArtifact("treeArtifact1");
registerAction(
new ThrowingDummyAction(ImmutableList.<Artifact>of(), ImmutableList.of(artifact1)));
// artifact2 is a tree artifact generated by an action template.
- Artifact artifact2 = createTreeArtifact("treeArtifact2");
+ SpecialArtifact artifact2 = createTreeArtifact("treeArtifact2");
SpawnActionTemplate actionTemplate = ActionsTestUtil.createDummySpawnActionTemplate(
artifact1, artifact2);
registerAction(actionTemplate);
@@ -930,11 +930,11 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
@Test
public void testEmptyInputAndOutputTreeArtifactInActionTemplate() throws Throwable {
// artifact1 is an empty tree artifact which is generated by a single no-op dummy action.
- Artifact artifact1 = createTreeArtifact("treeArtifact1");
+ SpecialArtifact artifact1 = createTreeArtifact("treeArtifact1");
registerAction(new NoOpDummyAction(ImmutableList.<Artifact>of(), ImmutableList.of(artifact1)));
// artifact2 is a tree artifact generated by an action template that takes artifact1 as input.
- Artifact artifact2 = createTreeArtifact("treeArtifact2");
+ SpecialArtifact artifact2 = createTreeArtifact("treeArtifact2");
SpawnActionTemplate actionTemplate = ActionsTestUtil.createDummySpawnActionTemplate(
artifact1, artifact2);
registerAction(actionTemplate);
@@ -955,7 +955,7 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
final Iterable<TreeFileArtifact> inputFiles;
final Iterable<TreeFileArtifact> outputFiles;
- TreeArtifactTestAction(final Artifact output, final String... subOutputs) {
+ TreeArtifactTestAction(final SpecialArtifact output, final String... subOutputs) {
this(Runnables.doNothing(),
null,
ImmutableList.<TreeFileArtifact>of(),
@@ -1064,9 +1064,9 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
}
/** Checks there's exactly one output, and returns it. */
- Artifact getSoleOutput() {
+ SpecialArtifact getSoleOutput() {
Iterator<Artifact> it = getOutputs().iterator();
- Artifact r = it.next();
+ SpecialArtifact r = (SpecialArtifact) it.next();
Preconditions.checkNotNull(r);
Preconditions.checkState(!it.hasNext());
Preconditions.checkState(r.equals(getPrimaryOutput()));
@@ -1078,7 +1078,8 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
treeFileArtifact(getSoleOutput(), PathFragment.create(outputName)));
}
- static List<TreeFileArtifact> asTreeFileArtifacts(final Artifact parent, String... files) {
+ static List<TreeFileArtifact> asTreeFileArtifacts(
+ final SpecialArtifact parent, String... files) {
return Lists.transform(
Arrays.asList(files),
new Function<String, TreeFileArtifact>() {
@@ -1097,7 +1098,7 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
super(Runnables.doNothing(), outputPaths);
}
- TouchingTestAction(Runnable effect, Artifact output, String... outputPaths) {
+ TouchingTestAction(Runnable effect, SpecialArtifact output, String... outputPaths) {
super(effect, asTreeFileArtifacts(output, outputPaths));
}
@@ -1145,7 +1146,8 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
/** Copies the given TreeFileArtifact inputs to the given outputs, in respective order. */
private static class CopyTreeAction extends TreeArtifactTestAction {
- CopyTreeAction(Runnable effect, Artifact input, Artifact output, String... sourcesAndDests) {
+ CopyTreeAction(
+ Runnable effect, SpecialArtifact input, SpecialArtifact output, String... sourcesAndDests) {
super(effect, input, asTreeFileArtifacts(input, sourcesAndDests), output,
asTreeFileArtifacts(output, sourcesAndDests));
}
@@ -1186,7 +1188,7 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
}
}
- private Artifact createTreeArtifact(String name) {
+ private SpecialArtifact createTreeArtifact(String name) {
FileSystem fs = scratch.getFileSystem();
Path execRoot = fs.getPath(TestUtils.tmpDir());
PathFragment execPath = PathFragment.create("out").getRelative(name);
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactMetadataTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactMetadataTest.java
index 4e3b242b5d..96bc4bed65 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactMetadataTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactMetadataTest.java
@@ -85,13 +85,12 @@ public class TreeArtifactMetadataTest extends ArtifactFunctionTestCase {
}
private TreeArtifactValue doTestTreeArtifacts(Iterable<PathFragment> children) throws Exception {
- Artifact output = createTreeArtifact("output");
+ SpecialArtifact output = createTreeArtifact("output");
return doTestTreeArtifacts(output, children);
}
- private TreeArtifactValue doTestTreeArtifacts(Artifact tree,
- Iterable<PathFragment> children)
- throws Exception {
+ private TreeArtifactValue doTestTreeArtifacts(
+ SpecialArtifact tree, Iterable<PathFragment> children) throws Exception {
TreeArtifactValue value = evaluateTreeArtifact(tree, children);
assertThat(value.getChildPaths()).containsExactlyElementsIn(ImmutableSet.copyOf(children));
assertThat(value.getChildren()).containsExactlyElementsIn(
@@ -200,10 +199,10 @@ public class TreeArtifactMetadataTest extends ArtifactFunctionTestCase {
writeFile(path, contents);
}
- private Artifact createTreeArtifact(String path) throws IOException {
+ private SpecialArtifact createTreeArtifact(String path) throws IOException {
PathFragment execPath = PathFragment.create("out").getRelative(path);
Path fullPath = root.getRelative(execPath);
- Artifact output =
+ SpecialArtifact output =
new SpecialArtifact(
fullPath,
ArtifactRoot.asDerivedRoot(root, root.getRelative("out")),
@@ -254,7 +253,7 @@ public class TreeArtifactMetadataTest extends ArtifactFunctionTestCase {
ActionLookupValue actionLookupValue =
(ActionLookupValue) env.getValue(actionLookupData.getActionLookupNode());
Action action = actionLookupValue.getAction(actionLookupData.getActionIndex());
- Artifact output = Iterables.getOnlyElement(action.getOutputs());
+ SpecialArtifact output = (SpecialArtifact) Iterables.getOnlyElement(action.getOutputs());
for (PathFragment subpath : testTreeArtifactContents) {
try {
TreeFileArtifact suboutput = ActionInputHelper.treeFileArtifact(output, subpath);