Simplify the ActionInputFileCache
Add a single getMetadata method (matching MetadataHandler), and rewrite
everything in those terms.
This is in preparation for merging ActionInputFileCache and MetadataHandler.
PiperOrigin-RevId: 161053535
diff --git a/src/test/java/com/google/devtools/build/lib/exec/SpawnInputExpanderTest.java b/src/test/java/com/google/devtools/build/lib/exec/SpawnInputExpanderTest.java
index 355e914..d577916 100644
--- a/src/test/java/com/google/devtools/build/lib/exec/SpawnInputExpanderTest.java
+++ b/src/test/java/com/google/devtools/build/lib/exec/SpawnInputExpanderTest.java
@@ -18,7 +18,6 @@
import com.google.common.collect.Maps;
import com.google.devtools.build.lib.actions.ActionInput;
-import com.google.devtools.build.lib.actions.ActionInputFileCache;
import com.google.devtools.build.lib.actions.ActionInputHelper;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.EmptyRunfilesSupplier;
@@ -26,6 +25,8 @@
import com.google.devtools.build.lib.actions.RunfilesSupplier;
import com.google.devtools.build.lib.analysis.Runfiles;
import com.google.devtools.build.lib.analysis.RunfilesSupplierImpl;
+import com.google.devtools.build.lib.exec.util.FakeActionInputFileCache;
+import com.google.devtools.build.lib.skyframe.FileArtifactValue;
import com.google.devtools.build.lib.vfs.FileSystem;
import com.google.devtools.build.lib.vfs.FileSystemUtils;
import com.google.devtools.build.lib.vfs.Path;
@@ -38,13 +39,14 @@
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
-import org.mockito.Mockito;
/**
* Tests for {@link SpawnInputExpander}.
*/
@RunWith(JUnit4.class)
public class SpawnInputExpanderTest {
+ private static final byte[] FAKE_DIGEST = new byte[] {1, 2, 3, 4};
+
private FileSystem fs;
private SpawnInputExpander expander;
private Map<PathFragment, ActionInput> inputMappings;
@@ -75,8 +77,8 @@
new Artifact(fs.getPath("/root/dir/file"), Root.asSourceRoot(fs.getPath("/root")));
Runfiles runfiles = new Runfiles.Builder("workspace").addArtifact(artifact).build();
RunfilesSupplier supplier = new RunfilesSupplierImpl(PathFragment.create("runfiles"), runfiles);
- ActionInputFileCache mockCache = Mockito.mock(ActionInputFileCache.class);
- Mockito.when(mockCache.isFile(artifact)).thenReturn(true);
+ FakeActionInputFileCache mockCache = new FakeActionInputFileCache();
+ mockCache.put(artifact, FileArtifactValue.createNormalFile(FAKE_DIGEST, 0));
expander.addRunfilesToInputs(inputMappings, supplier, mockCache);
assertThat(inputMappings).hasSize(1);
@@ -90,8 +92,8 @@
new Artifact(fs.getPath("/root/dir/file"), Root.asSourceRoot(fs.getPath("/root")));
Runfiles runfiles = new Runfiles.Builder("workspace").addArtifact(artifact).build();
RunfilesSupplier supplier = new RunfilesSupplierImpl(PathFragment.create("runfiles"), runfiles);
- ActionInputFileCache mockCache = Mockito.mock(ActionInputFileCache.class);
- Mockito.when(mockCache.isFile(artifact)).thenReturn(false);
+ FakeActionInputFileCache mockCache = new FakeActionInputFileCache();
+ mockCache.put(artifact, FileArtifactValue.createDirectory(-1));
try {
expander.addRunfilesToInputs(inputMappings, supplier, mockCache);
@@ -107,8 +109,8 @@
new Artifact(fs.getPath("/root/dir/file"), Root.asSourceRoot(fs.getPath("/root")));
Runfiles runfiles = new Runfiles.Builder("workspace").addArtifact(artifact).build();
RunfilesSupplier supplier = new RunfilesSupplierImpl(PathFragment.create("runfiles"), runfiles);
- ActionInputFileCache mockCache = Mockito.mock(ActionInputFileCache.class);
- Mockito.when(mockCache.isFile(artifact)).thenReturn(false);
+ FakeActionInputFileCache mockCache = new FakeActionInputFileCache();
+ mockCache.put(artifact, FileArtifactValue.createDirectory(-1));
expander = new SpawnInputExpander(/*strict=*/false);
expander.addRunfilesToInputs(inputMappings, supplier, mockCache);
@@ -128,9 +130,9 @@
.addArtifact(artifact2)
.build();
RunfilesSupplier supplier = new RunfilesSupplierImpl(PathFragment.create("runfiles"), runfiles);
- ActionInputFileCache mockCache = Mockito.mock(ActionInputFileCache.class);
- Mockito.when(mockCache.isFile(artifact1)).thenReturn(true);
- Mockito.when(mockCache.isFile(artifact2)).thenReturn(true);
+ FakeActionInputFileCache mockCache = new FakeActionInputFileCache();
+ mockCache.put(artifact1, FileArtifactValue.createNormalFile(FAKE_DIGEST, 1));
+ mockCache.put(artifact2, FileArtifactValue.createNormalFile(FAKE_DIGEST, 2));
expander.addRunfilesToInputs(inputMappings, supplier, mockCache);
assertThat(inputMappings).hasSize(2);
@@ -147,8 +149,8 @@
Runfiles runfiles = new Runfiles.Builder("workspace")
.addSymlink(PathFragment.create("symlink"), artifact).build();
RunfilesSupplier supplier = new RunfilesSupplierImpl(PathFragment.create("runfiles"), runfiles);
- ActionInputFileCache mockCache = Mockito.mock(ActionInputFileCache.class);
- Mockito.when(mockCache.isFile(artifact)).thenReturn(true);
+ FakeActionInputFileCache mockCache = new FakeActionInputFileCache();
+ mockCache.put(artifact, FileArtifactValue.createNormalFile(FAKE_DIGEST, 1));
expander.addRunfilesToInputs(inputMappings, supplier, mockCache);
assertThat(inputMappings).hasSize(1);
@@ -163,8 +165,8 @@
Runfiles runfiles = new Runfiles.Builder("workspace")
.addRootSymlink(PathFragment.create("symlink"), artifact).build();
RunfilesSupplier supplier = new RunfilesSupplierImpl(PathFragment.create("runfiles"), runfiles);
- ActionInputFileCache mockCache = Mockito.mock(ActionInputFileCache.class);
- Mockito.when(mockCache.isFile(artifact)).thenReturn(true);
+ FakeActionInputFileCache mockCache = new FakeActionInputFileCache();
+ mockCache.put(artifact, FileArtifactValue.createNormalFile(FAKE_DIGEST, 1));
expander.addRunfilesToInputs(inputMappings, supplier, mockCache);
assertThat(inputMappings).hasSize(2);