From 7e87730de985b7099b9b683571d58efdaab70890 Mon Sep 17 00:00:00 2001 From: ccalvarin Date: Thu, 26 Jul 2018 14:38:51 -0700 Subject: Remove default MD5 in most of Bazel's virtual filesystems. This forces the ex-default to be explicit in a lot of tests, but I'd rather that than have the risk of implicit md5-use in production code. To keep this CL smaller, do not remove the default from UnixFS quite yet. RELNOTES: None. PiperOrigin-RevId: 206223521 --- .../build/lib/actions/DigestUtilsTest.java | 2 +- .../build/lib/actions/MapBasedActionGraphTest.java | 3 +- .../build/lib/actions/util/ActionsTestUtil.java | 4 +- .../lib/analysis/AnalysisWithIOExceptionsTest.java | 3 +- .../lib/analysis/InterruptedExceptionTest.java | 3 +- .../build/lib/analysis/LocationFunctionTest.java | 3 +- .../bazel/repository/DecompressorValueTest.java | 3 +- .../build/lib/buildtool/SymlinkForestTest.java | 3 +- .../build/lib/exec/AbstractSpawnStrategyTest.java | 3 +- .../devtools/build/lib/exec/BlazeExecutorTest.java | 3 +- .../build/lib/exec/FilesetManifestTest.java | 3 +- .../build/lib/exec/SingleBuildFileCacheTest.java | 2 +- .../build/lib/exec/SpawnInputExpanderTest.java | 3 +- .../build/lib/exec/SymlinkTreeHelperTest.java | 3 +- .../build/lib/exec/local/LocalSpawnRunnerTest.java | 3 +- .../lib/packages/util/PackageFactoryTestBase.java | 3 +- .../lib/pkgcache/BuildFileModificationTest.java | 3 +- .../build/lib/pkgcache/IOExceptionsTest.java | 4 +- .../build/lib/pkgcache/IncrementalLoadingTest.java | 3 +- .../build/lib/pkgcache/LoadingPhaseRunnerTest.java | 3 +- .../lib/pkgcache/TargetPatternEvaluatorIOTest.java | 4 +- .../build/lib/profiler/AutoProfilerBenchmark.java | 18 +++-- .../build/lib/rules/android/ResourceTestBase.java | 3 +- .../build/lib/rules/cpp/HeaderDiscoveryTest.java | 3 +- .../lib/rules/cpp/ShowIncludesFilterTest.java | 3 +- .../rules/proto/ProtoCompileActionBuilderTest.java | 4 +- .../build/lib/runtime/ProcessWrapperUtilTest.java | 3 +- .../build/lib/runtime/TestSummaryTest.java | 3 +- .../lib/sandbox/FakeSandboxfsProcessTest.java | 3 +- .../build/lib/sandbox/LinuxSandboxUtilTest.java | 5 +- .../build/lib/sandbox/SandboxTestCase.java | 3 +- .../lib/skyframe/ASTFileLookupFunctionTest.java | 5 ++ .../lib/skyframe/ArtifactFunctionTestCase.java | 6 ++ .../lib/skyframe/DiffAwarenessManagerTest.java | 3 +- .../build/lib/skyframe/FileArtifactValueTest.java | 5 +- .../build/lib/skyframe/FileFunctionTest.java | 3 +- .../FileSymlinkCycleUniquenessFunctionTest.java | 3 +- .../lib/skyframe/FilesystemValueCheckerTest.java | 3 +- .../build/lib/skyframe/GlobFunctionTest.java | 3 +- .../build/lib/skyframe/PackageFunctionTest.java | 3 +- .../build/lib/skyframe/ParallelBuilderTest.java | 88 +++++++++++----------- .../lib/skyframe/SkyframeLabelVisitorTestCase.java | 3 +- .../lib/skyframe/TargetMarkerFunctionTest.java | 3 +- .../packages/AbstractPackageLoaderTest.java | 3 +- .../build/lib/testutil/FoundationTestCase.java | 3 +- .../devtools/build/lib/testutil/Scratch.java | 5 +- .../build/lib/testutil/TestFileOutErr.java | 3 +- .../devtools/build/lib/util/FileTypeTest.java | 3 +- .../devtools/build/lib/util/FingerprintTest.java | 3 +- .../build/lib/vfs/FileSystemUtilsTest.java | 7 +- .../google/devtools/build/lib/vfs/GlobTest.java | 19 ++--- .../build/lib/vfs/JavaIoFileSystemTest.java | 2 +- .../devtools/build/lib/vfs/PathAbstractTest.java | 2 +- .../devtools/build/lib/vfs/PathFragmentTest.java | 2 +- .../devtools/build/lib/vfs/RecursiveGlobTest.java | 2 +- .../google/devtools/build/lib/vfs/RootTest.java | 6 +- .../devtools/build/lib/vfs/RootedPathTest.java | 2 +- .../devtools/build/lib/vfs/SearchPathTest.java | 2 +- .../lib/vfs/inmemoryfs/InMemoryFileSystemTest.java | 3 +- .../devtools/build/lib/vfs/util/FsApparatus.java | 3 +- .../build/lib/worker/ErrorMessageTest.java | 5 +- .../build/lib/worker/WorkerExecRootTest.java | 3 +- .../build/lib/worker/WorkerFactoryTest.java | 3 +- 63 files changed, 197 insertions(+), 124 deletions(-) (limited to 'src/test/java/com') diff --git a/src/test/java/com/google/devtools/build/lib/actions/DigestUtilsTest.java b/src/test/java/com/google/devtools/build/lib/actions/DigestUtilsTest.java index fc6376e46f..9a06fd4743 100644 --- a/src/test/java/com/google/devtools/build/lib/actions/DigestUtilsTest.java +++ b/src/test/java/com/google/devtools/build/lib/actions/DigestUtilsTest.java @@ -224,7 +224,7 @@ public class DigestUtilsTest { final AtomicInteger getDigestCounter = new AtomicInteger(0); FileSystem tracingFileSystem = - new InMemoryFileSystem(BlazeClock.instance()) { + new InMemoryFileSystem(BlazeClock.instance(), DigestHashFunction.MD5) { @Override protected byte[] getFastDigest(Path path) throws IOException { getFastDigestCounter.incrementAndGet(); diff --git a/src/test/java/com/google/devtools/build/lib/actions/MapBasedActionGraphTest.java b/src/test/java/com/google/devtools/build/lib/actions/MapBasedActionGraphTest.java index 5de14d956c..a658a8146e 100644 --- a/src/test/java/com/google/devtools/build/lib/actions/MapBasedActionGraphTest.java +++ b/src/test/java/com/google/devtools/build/lib/actions/MapBasedActionGraphTest.java @@ -21,6 +21,7 @@ import com.google.devtools.build.lib.actions.util.ActionsTestUtil.UncheckedActio import com.google.devtools.build.lib.actions.util.TestAction; import com.google.devtools.build.lib.concurrent.AbstractQueueVisitor; import com.google.devtools.build.lib.concurrent.ErrorClassifier; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.inmemoryfs.InMemoryFileSystem; @@ -36,7 +37,7 @@ import org.junit.runners.JUnit4; */ @RunWith(JUnit4.class) public class MapBasedActionGraphTest { - private final FileSystem fileSystem = new InMemoryFileSystem(); + private final FileSystem fileSystem = new InMemoryFileSystem(DigestHashFunction.MD5); private final ActionKeyContext actionKeyContext = new ActionKeyContext(); @Test diff --git a/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java b/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java index cd3489ddf5..ec13e93cdb 100644 --- a/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java +++ b/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java @@ -69,6 +69,7 @@ import com.google.devtools.build.lib.util.FileType; import com.google.devtools.build.lib.util.Fingerprint; import com.google.devtools.build.lib.util.ResourceUsage; import com.google.devtools.build.lib.util.io.FileOutErr; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileStatus; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.PathFragment; @@ -258,7 +259,8 @@ public final class ActionsTestUtil { public static final Artifact DUMMY_ARTIFACT = new Artifact( PathFragment.create("/dummy"), - ArtifactRoot.asSourceRoot(Root.absoluteRoot(new InMemoryFileSystem()))); + ArtifactRoot.asSourceRoot( + Root.absoluteRoot(new InMemoryFileSystem(DigestHashFunction.MD5)))); public static final ActionOwner NULL_ACTION_OWNER = ActionOwner.create( diff --git a/src/test/java/com/google/devtools/build/lib/analysis/AnalysisWithIOExceptionsTest.java b/src/test/java/com/google/devtools/build/lib/analysis/AnalysisWithIOExceptionsTest.java index 67d9b6254a..6273c9816a 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/AnalysisWithIOExceptionsTest.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/AnalysisWithIOExceptionsTest.java @@ -17,6 +17,7 @@ import static org.junit.Assert.fail; import com.google.devtools.build.lib.analysis.util.AnalysisTestCase; import com.google.devtools.build.lib.clock.BlazeClock; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileStatus; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.Path; @@ -36,7 +37,7 @@ public class AnalysisWithIOExceptionsTest extends AnalysisTestCase { @Override protected FileSystem createFileSystem() { - return new InMemoryFileSystem(BlazeClock.instance()) { + return new InMemoryFileSystem(BlazeClock.instance(), DigestHashFunction.MD5) { @Override public FileStatus stat(Path path, boolean followSymlinks) throws IOException { String crash = crashMessage.apply(path); diff --git a/src/test/java/com/google/devtools/build/lib/analysis/InterruptedExceptionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/InterruptedExceptionTest.java index fc1b7078e6..8afbf2d86d 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/InterruptedExceptionTest.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/InterruptedExceptionTest.java @@ -17,6 +17,7 @@ import static org.junit.Assert.fail; import com.google.devtools.build.lib.analysis.util.AnalysisTestCase; import com.google.devtools.build.lib.clock.BlazeClock; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.Dirent; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.Path; @@ -38,7 +39,7 @@ public class InterruptedExceptionTest extends AnalysisTestCase { @Override protected FileSystem createFileSystem() { - return new InMemoryFileSystem(BlazeClock.instance()) { + return new InMemoryFileSystem(BlazeClock.instance(), DigestHashFunction.MD5) { @Override protected Collection readdir(Path path, boolean followSymlinks) throws IOException { if (path.toString().contains("causes_interrupt")) { diff --git a/src/test/java/com/google/devtools/build/lib/analysis/LocationFunctionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/LocationFunctionTest.java index 258095fa95..37b870d9b1 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/LocationFunctionTest.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/LocationFunctionTest.java @@ -24,6 +24,7 @@ import com.google.devtools.build.lib.actions.ArtifactRoot; import com.google.devtools.build.lib.analysis.LocationExpander.LocationFunction; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.cmdline.RepositoryName; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.Root; import com.google.devtools.build.lib.vfs.inmemoryfs.InMemoryFileSystem; @@ -196,7 +197,7 @@ final class LocationFunctionBuilder { } private static Artifact makeArtifact(String path) { - FileSystem fs = new InMemoryFileSystem(); + FileSystem fs = new InMemoryFileSystem(DigestHashFunction.MD5); if (path.startsWith("/exec/out")) { return new Artifact( fs.getPath(path), diff --git a/src/test/java/com/google/devtools/build/lib/bazel/repository/DecompressorValueTest.java b/src/test/java/com/google/devtools/build/lib/bazel/repository/DecompressorValueTest.java index 67616fa683..d31a5fbc5f 100644 --- a/src/test/java/com/google/devtools/build/lib/bazel/repository/DecompressorValueTest.java +++ b/src/test/java/com/google/devtools/build/lib/bazel/repository/DecompressorValueTest.java @@ -18,6 +18,7 @@ import static com.google.common.truth.Truth.assertThat; import static org.junit.Assert.fail; import com.google.devtools.build.lib.rules.repository.RepositoryFunction.RepositoryFunctionException; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.inmemoryfs.InMemoryFileSystem; @@ -31,7 +32,7 @@ import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class DecompressorValueTest { - private FileSystem fs = new InMemoryFileSystem(); + private FileSystem fs = new InMemoryFileSystem(DigestHashFunction.MD5); @Test public void testKnownFileExtensionsDoNotThrow() throws Exception { diff --git a/src/test/java/com/google/devtools/build/lib/buildtool/SymlinkForestTest.java b/src/test/java/com/google/devtools/build/lib/buildtool/SymlinkForestTest.java index ab550a072d..1626cd47b2 100644 --- a/src/test/java/com/google/devtools/build/lib/buildtool/SymlinkForestTest.java +++ b/src/test/java/com/google/devtools/build/lib/buildtool/SymlinkForestTest.java @@ -25,6 +25,7 @@ import com.google.devtools.build.lib.cmdline.PackageIdentifier; import com.google.devtools.build.lib.cmdline.RepositoryName; import com.google.devtools.build.lib.testutil.ManualClock; import com.google.devtools.build.lib.testutil.TestConstants; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.Path; @@ -56,7 +57,7 @@ public class SymlinkForestTest { @Before public final void initializeFileSystem() throws Exception { ManualClock clock = new ManualClock(); - fileSystem = new InMemoryFileSystem(clock); + fileSystem = new InMemoryFileSystem(clock, DigestHashFunction.MD5); linkRoot = fileSystem.getPath("/linkRoot"); createDirectoryAndParents(linkRoot); } diff --git a/src/test/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategyTest.java b/src/test/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategyTest.java index d92a1b155e..1ea3935748 100644 --- a/src/test/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategyTest.java +++ b/src/test/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategyTest.java @@ -40,6 +40,7 @@ import com.google.devtools.build.lib.testutil.Scratch; import com.google.devtools.build.lib.testutil.Suite; import com.google.devtools.build.lib.testutil.TestSpec; import com.google.devtools.build.lib.util.io.MessageOutputStream; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.Root; @@ -65,7 +66,7 @@ public class AbstractSpawnStrategyTest { private static final Spawn SIMPLE_SPAWN = new SpawnBuilder("/bin/echo", "Hi!").withEnvironment("VARIABLE", "value").build(); - private final FileSystem fs = new InMemoryFileSystem(); + private final FileSystem fs = new InMemoryFileSystem(DigestHashFunction.MD5); private final Path execRoot = fs.getPath("/execroot"); private Scratch scratch; private ArtifactRoot rootDir; diff --git a/src/test/java/com/google/devtools/build/lib/exec/BlazeExecutorTest.java b/src/test/java/com/google/devtools/build/lib/exec/BlazeExecutorTest.java index 1dcd3b0e11..0390a01a80 100644 --- a/src/test/java/com/google/devtools/build/lib/exec/BlazeExecutorTest.java +++ b/src/test/java/com/google/devtools/build/lib/exec/BlazeExecutorTest.java @@ -27,6 +27,7 @@ import com.google.devtools.build.lib.events.StoredEventHandler; import com.google.devtools.build.lib.exec.util.TestExecutorBuilder; import com.google.devtools.build.lib.testutil.Suite; import com.google.devtools.build.lib.testutil.TestSpec; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.inmemoryfs.InMemoryFileSystem; import com.google.devtools.common.options.OptionsParser; @@ -47,7 +48,7 @@ public class BlazeExecutorTest { @Before public final void setUpDirectoriesAndTools() throws Exception { - fileSystem = new InMemoryFileSystem(); + fileSystem = new InMemoryFileSystem(DigestHashFunction.MD5); directories = new BlazeDirectories( new ServerDirectories( diff --git a/src/test/java/com/google/devtools/build/lib/exec/FilesetManifestTest.java b/src/test/java/com/google/devtools/build/lib/exec/FilesetManifestTest.java index 2db666eb19..7906788e53 100644 --- a/src/test/java/com/google/devtools/build/lib/exec/FilesetManifestTest.java +++ b/src/test/java/com/google/devtools/build/lib/exec/FilesetManifestTest.java @@ -21,6 +21,7 @@ import static org.junit.Assert.fail; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.ArtifactRoot; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.Path; @@ -44,7 +45,7 @@ public class FilesetManifestTest { @Before public final void createSpawnInputExpander() throws Exception { - fs = new InMemoryFileSystem(); + fs = new InMemoryFileSystem(DigestHashFunction.MD5); execRoot = fs.getPath("/root"); } diff --git a/src/test/java/com/google/devtools/build/lib/exec/SingleBuildFileCacheTest.java b/src/test/java/com/google/devtools/build/lib/exec/SingleBuildFileCacheTest.java index c3fa2dbc4b..4b054a795e 100644 --- a/src/test/java/com/google/devtools/build/lib/exec/SingleBuildFileCacheTest.java +++ b/src/test/java/com/google/devtools/build/lib/exec/SingleBuildFileCacheTest.java @@ -57,7 +57,7 @@ public class SingleBuildFileCacheTest { calls = new HashMap<>(); md5Overrides = new HashMap<>(); fs = - new InMemoryFileSystem() { + new InMemoryFileSystem(DigestHashFunction.MD5) { @Override protected InputStream getInputStream(Path path) throws IOException { int c = calls.containsKey(path.toString()) ? calls.get(path.toString()) : 0; 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 e21fdbb4e8..f8b59a07f5 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 @@ -33,6 +33,7 @@ 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.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.Path; @@ -62,7 +63,7 @@ public class SpawnInputExpanderTest { @Before public final void createSpawnInputExpander() throws Exception { - fs = new InMemoryFileSystem(); + fs = new InMemoryFileSystem(DigestHashFunction.MD5); execRoot = fs.getPath("/root"); expander = new SpawnInputExpander(execRoot, /*strict=*/ true); inputMappings = Maps.newHashMap(); diff --git a/src/test/java/com/google/devtools/build/lib/exec/SymlinkTreeHelperTest.java b/src/test/java/com/google/devtools/build/lib/exec/SymlinkTreeHelperTest.java index 808fe36027..2e25907160 100644 --- a/src/test/java/com/google/devtools/build/lib/exec/SymlinkTreeHelperTest.java +++ b/src/test/java/com/google/devtools/build/lib/exec/SymlinkTreeHelperTest.java @@ -24,6 +24,7 @@ import com.google.devtools.build.lib.actions.ActionInputHelper; import com.google.devtools.build.lib.actions.ExecutionRequirements; import com.google.devtools.build.lib.actions.Spawn; import com.google.devtools.build.lib.exec.util.FakeOwner; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.inmemoryfs.InMemoryFileSystem; @@ -34,7 +35,7 @@ import org.junit.runners.JUnit4; /** Unit tests for {@link SymlinkTreeHelper}. */ @RunWith(JUnit4.class) public final class SymlinkTreeHelperTest { - private final FileSystem fs = new InMemoryFileSystem(); + private final FileSystem fs = new InMemoryFileSystem(DigestHashFunction.MD5); @Test public void checkCreatedSpawn() { diff --git a/src/test/java/com/google/devtools/build/lib/exec/local/LocalSpawnRunnerTest.java b/src/test/java/com/google/devtools/build/lib/exec/local/LocalSpawnRunnerTest.java index 35f7365afa..e4fc2bcc69 100644 --- a/src/test/java/com/google/devtools/build/lib/exec/local/LocalSpawnRunnerTest.java +++ b/src/test/java/com/google/devtools/build/lib/exec/local/LocalSpawnRunnerTest.java @@ -54,6 +54,7 @@ import com.google.devtools.build.lib.unix.UnixFileSystem; import com.google.devtools.build.lib.util.NetUtil; import com.google.devtools.build.lib.util.OS; import com.google.devtools.build.lib.util.io.FileOutErr; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.Path; @@ -273,7 +274,7 @@ public class LocalSpawnRunnerTest { SubprocessBuilder.setSubprocessFactory(new SubprocessInterceptor()); resourceManager.setAvailableResources( ResourceSet.create(/*memoryMb=*/1, /*cpuUsage=*/1, /*ioUsage=*/1, /*localTestCount=*/1)); - return new InMemoryFileSystem(); + return new InMemoryFileSystem(DigestHashFunction.MD5); } /** diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/PackageFactoryTestBase.java b/src/test/java/com/google/devtools/build/lib/packages/util/PackageFactoryTestBase.java index eb614fc49c..7b9de78167 100644 --- a/src/test/java/com/google/devtools/build/lib/packages/util/PackageFactoryTestBase.java +++ b/src/test/java/com/google/devtools/build/lib/packages/util/PackageFactoryTestBase.java @@ -36,6 +36,7 @@ import com.google.devtools.build.lib.syntax.Printer; import com.google.devtools.build.lib.testutil.Scratch; import com.google.devtools.build.lib.testutil.TestUtils; import com.google.devtools.build.lib.util.Pair; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.Dirent; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.FileSystemUtils; @@ -120,7 +121,7 @@ public abstract class PackageFactoryTestBase { @Before public final void initializeFileSystem() throws Exception { FileSystem fs = - new InMemoryFileSystem() { + new InMemoryFileSystem(DigestHashFunction.MD5) { @Override public Collection readdir(Path path, boolean followSymlinks) throws IOException { if (path.equals(throwOnReaddir)) { diff --git a/src/test/java/com/google/devtools/build/lib/pkgcache/BuildFileModificationTest.java b/src/test/java/com/google/devtools/build/lib/pkgcache/BuildFileModificationTest.java index 2890619c2e..3b57806ab6 100644 --- a/src/test/java/com/google/devtools/build/lib/pkgcache/BuildFileModificationTest.java +++ b/src/test/java/com/google/devtools/build/lib/pkgcache/BuildFileModificationTest.java @@ -37,6 +37,7 @@ import com.google.devtools.build.lib.testutil.FoundationTestCase; import com.google.devtools.build.lib.testutil.ManualClock; import com.google.devtools.build.lib.testutil.TestConstants; import com.google.devtools.build.lib.util.io.TimestampGranularityMonitor; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.ModifiedFileSet; @@ -134,7 +135,7 @@ public class BuildFileModificationTest extends FoundationTestCase { @Override protected FileSystem createFileSystem() { - return new InMemoryFileSystem(clock); + return new InMemoryFileSystem(clock, DigestHashFunction.MD5); } private void invalidatePackages() throws InterruptedException { diff --git a/src/test/java/com/google/devtools/build/lib/pkgcache/IOExceptionsTest.java b/src/test/java/com/google/devtools/build/lib/pkgcache/IOExceptionsTest.java index de8e71b221..fdd96234ed 100644 --- a/src/test/java/com/google/devtools/build/lib/pkgcache/IOExceptionsTest.java +++ b/src/test/java/com/google/devtools/build/lib/pkgcache/IOExceptionsTest.java @@ -24,6 +24,7 @@ import com.google.devtools.build.lib.packages.ConstantRuleVisibility; import com.google.devtools.build.lib.packages.util.PackageLoadingTestCase; import com.google.devtools.build.lib.skyframe.TransitiveTargetKey; import com.google.devtools.build.lib.skyframe.TransitiveTargetValue; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileStatus; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.ModifiedFileSet; @@ -82,7 +83,8 @@ public class IOExceptionsTest extends PackageLoadingTestCase { @Override protected FileSystem createFileSystem() { - return new InMemoryFileSystem(BlazeClock.instance(), PathFragment.create(FS_ROOT)) { + return new InMemoryFileSystem( + BlazeClock.instance(), PathFragment.create(FS_ROOT), DigestHashFunction.MD5) { @Override public FileStatus stat(Path path, boolean followSymlinks) throws IOException { String crash = crashMessage.apply(path); diff --git a/src/test/java/com/google/devtools/build/lib/pkgcache/IncrementalLoadingTest.java b/src/test/java/com/google/devtools/build/lib/pkgcache/IncrementalLoadingTest.java index 866844df31..e6cb8562b1 100644 --- a/src/test/java/com/google/devtools/build/lib/pkgcache/IncrementalLoadingTest.java +++ b/src/test/java/com/google/devtools/build/lib/pkgcache/IncrementalLoadingTest.java @@ -46,6 +46,7 @@ import com.google.devtools.build.lib.skyframe.SkyframeExecutor; import com.google.devtools.build.lib.testutil.ManualClock; import com.google.devtools.build.lib.testutil.TestConstants; import com.google.devtools.build.lib.util.io.TimestampGranularityMonitor; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.Dirent; import com.google.devtools.build.lib.vfs.FileStatus; import com.google.devtools.build.lib.vfs.FileSystem; @@ -86,7 +87,7 @@ public class IncrementalLoadingTest { public final void createTester() throws Exception { ManualClock clock = new ManualClock(); FileSystem fs = - new InMemoryFileSystem(clock) { + new InMemoryFileSystem(clock, DigestHashFunction.MD5) { @Override public Collection readdir(Path path, boolean followSymlinks) throws IOException { if (path.equals(throwOnReaddir)) { diff --git a/src/test/java/com/google/devtools/build/lib/pkgcache/LoadingPhaseRunnerTest.java b/src/test/java/com/google/devtools/build/lib/pkgcache/LoadingPhaseRunnerTest.java index 50e6ecf0e6..d2039af36f 100644 --- a/src/test/java/com/google/devtools/build/lib/pkgcache/LoadingPhaseRunnerTest.java +++ b/src/test/java/com/google/devtools/build/lib/pkgcache/LoadingPhaseRunnerTest.java @@ -55,6 +55,7 @@ import com.google.devtools.build.lib.testutil.ManualClock; import com.google.devtools.build.lib.testutil.MoreAsserts; import com.google.devtools.build.lib.testutil.TestConstants; import com.google.devtools.build.lib.util.io.TimestampGranularityMonitor; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.ModifiedFileSet; @@ -715,7 +716,7 @@ public class LoadingPhaseRunnerTest { private MockToolsConfig mockToolsConfig; public LoadingPhaseTester() throws IOException { - FileSystem fs = new InMemoryFileSystem(clock); + FileSystem fs = new InMemoryFileSystem(clock, DigestHashFunction.MD5); this.workspace = fs.getPath("/workspace"); workspace.createDirectory(); mockToolsConfig = new MockToolsConfig(workspace); diff --git a/src/test/java/com/google/devtools/build/lib/pkgcache/TargetPatternEvaluatorIOTest.java b/src/test/java/com/google/devtools/build/lib/pkgcache/TargetPatternEvaluatorIOTest.java index f2a7233b69..1f0bb9d86a 100644 --- a/src/test/java/com/google/devtools/build/lib/pkgcache/TargetPatternEvaluatorIOTest.java +++ b/src/test/java/com/google/devtools/build/lib/pkgcache/TargetPatternEvaluatorIOTest.java @@ -17,6 +17,7 @@ import com.google.common.collect.ImmutableSet; import com.google.common.truth.Truth; import com.google.devtools.build.lib.clock.BlazeClock; import com.google.devtools.build.lib.events.EventKind; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.Dirent; import com.google.devtools.build.lib.vfs.FileStatus; import com.google.devtools.build.lib.vfs.FileSystem; @@ -57,7 +58,8 @@ public class TargetPatternEvaluatorIOTest extends AbstractTargetPatternEvaluator @Override protected FileSystem createFileSystem() { - return new InMemoryFileSystem(BlazeClock.instance(), PathFragment.create(FS_ROOT)) { + return new InMemoryFileSystem( + BlazeClock.instance(), PathFragment.create(FS_ROOT), DigestHashFunction.MD5) { @Override public FileStatus stat(Path path, boolean followSymlinks) throws IOException { FileStatus defaultResult = super.stat(path, followSymlinks); diff --git a/src/test/java/com/google/devtools/build/lib/profiler/AutoProfilerBenchmark.java b/src/test/java/com/google/devtools/build/lib/profiler/AutoProfilerBenchmark.java index 044ae8c0d4..1022f38d92 100644 --- a/src/test/java/com/google/devtools/build/lib/profiler/AutoProfilerBenchmark.java +++ b/src/test/java/com/google/devtools/build/lib/profiler/AutoProfilerBenchmark.java @@ -17,6 +17,7 @@ import com.google.caliper.BeforeExperiment; import com.google.caliper.Benchmark; import com.google.devtools.build.lib.clock.BlazeClock; import com.google.devtools.build.lib.profiler.Profiler.ProfiledTaskKinds; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.inmemoryfs.InMemoryFileSystem; /** @@ -27,14 +28,15 @@ public class AutoProfilerBenchmark { @BeforeExperiment void startProfiler() throws Exception { - Profiler.instance().start( - ProfiledTaskKinds.ALL, - new InMemoryFileSystem().getPath("/out.dat").getOutputStream(), - Profiler.Format.BINARY_BAZEL_FORMAT, - "benchmark", - false, - BlazeClock.instance(), - BlazeClock.instance().nanoTime()); + Profiler.instance() + .start( + ProfiledTaskKinds.ALL, + new InMemoryFileSystem(DigestHashFunction.MD5).getPath("/out.dat").getOutputStream(), + Profiler.Format.BINARY_BAZEL_FORMAT, + "benchmark", + false, + BlazeClock.instance(), + BlazeClock.instance().nanoTime()); } @BeforeExperiment diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/ResourceTestBase.java b/src/test/java/com/google/devtools/build/lib/rules/android/ResourceTestBase.java index dad6ee04fe..2eabbba2d3 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/android/ResourceTestBase.java +++ b/src/test/java/com/google/devtools/build/lib/rules/android/ResourceTestBase.java @@ -36,6 +36,7 @@ import com.google.devtools.build.lib.events.StoredEventHandler; import com.google.devtools.build.lib.packages.AbstractRuleErrorConsumer; import com.google.devtools.build.lib.packages.RuleErrorConsumer; import com.google.devtools.build.lib.skyframe.ConfiguredTargetKey; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.Root; @@ -184,7 +185,7 @@ public abstract class ResourceTestBase extends AndroidBuildViewTestCase { @Before public void setup() { errorConsumer = new FakeRuleErrorConsumer(); - fileSystem = new InMemoryFileSystem(); + fileSystem = new InMemoryFileSystem(DigestHashFunction.MD5); root = ArtifactRoot.asSourceRoot(Root.fromPath(fileSystem.getPath("/"))); } diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/HeaderDiscoveryTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/HeaderDiscoveryTest.java index 831cf95350..105b8f7b82 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/HeaderDiscoveryTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/HeaderDiscoveryTest.java @@ -26,6 +26,7 @@ import com.google.devtools.build.lib.actions.ArtifactResolver; import com.google.devtools.build.lib.actions.ArtifactRoot; import com.google.devtools.build.lib.actions.util.ActionsTestUtil; import com.google.devtools.build.lib.collect.nestedset.NestedSet; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.inmemoryfs.InMemoryFileSystem; @@ -37,7 +38,7 @@ import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class HeaderDiscoveryTest { - private final FileSystem fs = new InMemoryFileSystem(); + private final FileSystem fs = new InMemoryFileSystem(DigestHashFunction.MD5); private final Path execRoot = fs.getPath("/execroot"); private final Path derivedRoot = execRoot.getRelative("derived"); private final ArtifactRoot artifactRoot = ArtifactRoot.asDerivedRoot(execRoot, derivedRoot); diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/ShowIncludesFilterTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/ShowIncludesFilterTest.java index 2a55081e99..72424d092f 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/ShowIncludesFilterTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/ShowIncludesFilterTest.java @@ -18,6 +18,7 @@ import static com.google.common.truth.Truth.assertThat; import static java.nio.charset.StandardCharsets.UTF_8; import com.google.devtools.build.lib.util.io.FileOutErr; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.inmemoryfs.InMemoryFileSystem; import java.io.ByteArrayOutputStream; @@ -43,7 +44,7 @@ public class ShowIncludesFilterTest { showIncludesFilter = new ShowIncludesFilter("foo.cpp"); output = new ByteArrayOutputStream(); filterOutputStream = showIncludesFilter.getFilteredOutputStream(output); - fs = new InMemoryFileSystem(); + fs = new InMemoryFileSystem(DigestHashFunction.MD5); fs.getPath("/out").createDirectory(); } diff --git a/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilderTest.java b/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilderTest.java index 1e2311fa84..5edf6807ff 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilderTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilderTest.java @@ -34,6 +34,7 @@ import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.collect.nestedset.Order; import com.google.devtools.build.lib.rules.proto.ProtoCompileActionBuilder.ToolchainInvocation; import com.google.devtools.build.lib.util.LazyString; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.Root; import com.google.devtools.build.lib.vfs.inmemoryfs.InMemoryFileSystem; import javax.annotation.Nullable; @@ -45,7 +46,8 @@ import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class ProtoCompileActionBuilderTest { - private static final InMemoryFileSystem FILE_SYSTEM = new InMemoryFileSystem(); + private static final InMemoryFileSystem FILE_SYSTEM = + new InMemoryFileSystem(DigestHashFunction.MD5); private final ArtifactRoot root = ArtifactRoot.asSourceRoot(Root.fromPath(FILE_SYSTEM.getPath("/"))); private final ArtifactRoot derivedRoot = diff --git a/src/test/java/com/google/devtools/build/lib/runtime/ProcessWrapperUtilTest.java b/src/test/java/com/google/devtools/build/lib/runtime/ProcessWrapperUtilTest.java index ff1fdd50d5..adefde3b0c 100644 --- a/src/test/java/com/google/devtools/build/lib/runtime/ProcessWrapperUtilTest.java +++ b/src/test/java/com/google/devtools/build/lib/runtime/ProcessWrapperUtilTest.java @@ -17,6 +17,7 @@ package com.google.devtools.build.lib.runtime; import static com.google.common.truth.Truth.assertThat; import com.google.common.collect.ImmutableList; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.inmemoryfs.InMemoryFileSystem; @@ -34,7 +35,7 @@ public final class ProcessWrapperUtilTest { @Before public final void createFileSystem() { - testFS = new InMemoryFileSystem(); + testFS = new InMemoryFileSystem(DigestHashFunction.MD5); } @Test diff --git a/src/test/java/com/google/devtools/build/lib/runtime/TestSummaryTest.java b/src/test/java/com/google/devtools/build/lib/runtime/TestSummaryTest.java index ee0f08c041..a033517d35 100644 --- a/src/test/java/com/google/devtools/build/lib/runtime/TestSummaryTest.java +++ b/src/test/java/com/google/devtools/build/lib/runtime/TestSummaryTest.java @@ -29,6 +29,7 @@ import com.google.devtools.build.lib.analysis.config.BuildConfiguration; import com.google.devtools.build.lib.clock.BlazeClock; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.util.io.AnsiTerminalPrinter; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.Path; @@ -63,7 +64,7 @@ public class TestSummaryTest { @Before public final void createFileSystem() throws Exception { - fs = new InMemoryFileSystem(BlazeClock.instance()); + fs = new InMemoryFileSystem(BlazeClock.instance(), DigestHashFunction.MD5); stubTarget = stubTarget(); basicBuilder = getTemplateBuilder(); } diff --git a/src/test/java/com/google/devtools/build/lib/sandbox/FakeSandboxfsProcessTest.java b/src/test/java/com/google/devtools/build/lib/sandbox/FakeSandboxfsProcessTest.java index 06c6b2b234..994ae2c70e 100644 --- a/src/test/java/com/google/devtools/build/lib/sandbox/FakeSandboxfsProcessTest.java +++ b/src/test/java/com/google/devtools/build/lib/sandbox/FakeSandboxfsProcessTest.java @@ -17,6 +17,7 @@ package com.google.devtools.build.lib.sandbox; import static com.google.common.truth.Truth.assertThat; import static com.google.devtools.build.lib.testutil.MoreAsserts.assertThrows; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.Path; @@ -32,7 +33,7 @@ public class FakeSandboxfsProcessTest extends BaseSandboxfsProcessTest { @Override Path newTmpDir() throws IOException { - FileSystem fileSystem = new InMemoryFileSystem(); + FileSystem fileSystem = new InMemoryFileSystem(DigestHashFunction.MD5); Path tmpDir = fileSystem.getPath("/tmp"); tmpDir.createDirectory(); return tmpDir; diff --git a/src/test/java/com/google/devtools/build/lib/sandbox/LinuxSandboxUtilTest.java b/src/test/java/com/google/devtools/build/lib/sandbox/LinuxSandboxUtilTest.java index 8a2b4b3a75..6ba265103e 100644 --- a/src/test/java/com/google/devtools/build/lib/sandbox/LinuxSandboxUtilTest.java +++ b/src/test/java/com/google/devtools/build/lib/sandbox/LinuxSandboxUtilTest.java @@ -20,6 +20,7 @@ import static com.google.devtools.build.lib.testutil.MoreAsserts.assertThrows; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSortedMap; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.inmemoryfs.InMemoryFileSystem; @@ -37,7 +38,7 @@ public final class LinuxSandboxUtilTest { @Before public final void createFileSystem() { - testFS = new InMemoryFileSystem(); + testFS = new InMemoryFileSystem(DigestHashFunction.MD5); } @Test @@ -97,7 +98,7 @@ public final class LinuxSandboxUtilTest { boolean useFakeHostname = true; boolean useDebugMode = true; - FileSystem fileSystem = new InMemoryFileSystem(); + FileSystem fileSystem = new InMemoryFileSystem(DigestHashFunction.MD5); Path workDir = fileSystem.getPath("/work"); Path concreteDir = workDir.getRelative("concrete"); Path sandboxDir = workDir.getRelative("sandbox"); diff --git a/src/test/java/com/google/devtools/build/lib/sandbox/SandboxTestCase.java b/src/test/java/com/google/devtools/build/lib/sandbox/SandboxTestCase.java index 8489c7d914..0b26414f95 100644 --- a/src/test/java/com/google/devtools/build/lib/sandbox/SandboxTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/sandbox/SandboxTestCase.java @@ -14,6 +14,7 @@ package com.google.devtools.build.lib.sandbox; import com.google.devtools.build.lib.testutil.TestUtils; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.inmemoryfs.InMemoryFileSystem; @@ -26,7 +27,7 @@ public class SandboxTestCase { @Before public final void createTestRoot() throws Exception { - fileSystem = new InMemoryFileSystem(); + fileSystem = new InMemoryFileSystem(DigestHashFunction.MD5); testRoot = fileSystem.getPath(TestUtils.tmpDir()); testRoot.createDirectoryAndParents(); } diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ASTFileLookupFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/ASTFileLookupFunctionTest.java index 5395b90a8c..123da88426 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/ASTFileLookupFunctionTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/ASTFileLookupFunctionTest.java @@ -23,6 +23,7 @@ import com.google.devtools.build.lib.cmdline.PackageIdentifier; import com.google.devtools.build.lib.packages.NoSuchPackageException; import com.google.devtools.build.lib.skyframe.util.SkyframeExecutorTestUtils; import com.google.devtools.build.lib.syntax.SkylarkImport; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileStatus; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.Path; @@ -44,6 +45,10 @@ public class ASTFileLookupFunctionTest extends BuildViewTestCase { private class MockFileSystem extends InMemoryFileSystem { boolean statThrowsIoException; + private MockFileSystem() { + super(DigestHashFunction.MD5); + } + @Override public FileStatus stat(Path path, boolean followSymlinks) throws IOException { if (statThrowsIoException diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTestCase.java b/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTestCase.java index 5a1ca443b1..e8e0e0bcfb 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTestCase.java @@ -31,6 +31,7 @@ import com.google.devtools.build.lib.testutil.TestConstants; import com.google.devtools.build.lib.testutil.TestRuleClassProvider; import com.google.devtools.build.lib.testutil.TestUtils; import com.google.devtools.build.lib.util.io.TimestampGranularityMonitor; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.Root; @@ -161,6 +162,11 @@ abstract class ArtifactFunctionTestCase { /** InMemoryFileSystem that can pretend to do a fast digest. */ protected class CustomInMemoryFs extends InMemoryFileSystem { + + CustomInMemoryFs() { + super(DigestHashFunction.MD5); + } + @Override protected byte[] getFastDigest(Path path) throws IOException { return fastDigest ? getDigest(path) : null; diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/DiffAwarenessManagerTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/DiffAwarenessManagerTest.java index 5dbbaba462..6b5d6250ec 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/DiffAwarenessManagerTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/DiffAwarenessManagerTest.java @@ -21,6 +21,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Maps; import com.google.devtools.build.lib.events.util.EventCollectionApparatus; import com.google.devtools.build.lib.skyframe.DiffAwarenessManager.ProcessableModifiedFileSet; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.ModifiedFileSet; import com.google.devtools.build.lib.vfs.PathFragment; @@ -46,7 +47,7 @@ public class DiffAwarenessManagerTest { @Before public final void createFileSystem() throws Exception { - fs = new InMemoryFileSystem(); + fs = new InMemoryFileSystem(DigestHashFunction.MD5); } @Before diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/FileArtifactValueTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/FileArtifactValueTest.java index 1e85b6c8b3..e437987201 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/FileArtifactValueTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/FileArtifactValueTest.java @@ -21,6 +21,7 @@ import com.google.common.io.BaseEncoding; import com.google.common.testing.EqualsTester; import com.google.devtools.build.lib.actions.FileArtifactValue; import com.google.devtools.build.lib.testutil.ManualClock; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.Path; @@ -33,7 +34,7 @@ import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class FileArtifactValueTest { private final ManualClock clock = new ManualClock(); - private final FileSystem fs = new InMemoryFileSystem(clock); + private final FileSystem fs = new InMemoryFileSystem(clock, DigestHashFunction.MD5); private Path scratchFile(String name, long mtime, String content) throws IOException { Path path = fs.getPath(name); @@ -159,7 +160,7 @@ public class FileArtifactValueTest { public void testIOException() throws Exception { final IOException exception = new IOException("beep"); FileSystem fs = - new InMemoryFileSystem() { + new InMemoryFileSystem(DigestHashFunction.MD5) { @Override public byte[] getDigest(Path path) throws IOException { throw exception; diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java index b76bbcd24d..4d3a7d5228 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java @@ -52,6 +52,7 @@ import com.google.devtools.build.lib.testutil.TestRuleClassProvider; import com.google.devtools.build.lib.testutil.TestUtils; import com.google.devtools.build.lib.util.Pair; import com.google.devtools.build.lib.util.io.TimestampGranularityMonitor; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileStatus; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.FileSystemUtils; @@ -1612,7 +1613,7 @@ public class FileFunctionTest { private final Map stubbedFastDigestErrors = Maps.newHashMap(); public CustomInMemoryFs(ManualClock manualClock) { - super(manualClock); + super(manualClock, DigestHashFunction.MD5); } public void stubFastDigestError(Path path, IOException error) { diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/FileSymlinkCycleUniquenessFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/FileSymlinkCycleUniquenessFunctionTest.java index 38bffd74c5..a092445829 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/FileSymlinkCycleUniquenessFunctionTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/FileSymlinkCycleUniquenessFunctionTest.java @@ -15,6 +15,7 @@ package com.google.devtools.build.lib.skyframe; import com.google.common.collect.ImmutableList; import com.google.common.testing.EqualsTester; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.PathFragment; import com.google.devtools.build.lib.vfs.Root; import com.google.devtools.build.lib.vfs.RootedPath; @@ -28,7 +29,7 @@ public class FileSymlinkCycleUniquenessFunctionTest { @Test public void testHashCodeAndEqualsContract() throws Exception { - Root root = Root.fromPath(new InMemoryFileSystem().getPath("/root")); + Root root = Root.fromPath(new InMemoryFileSystem(DigestHashFunction.MD5).getPath("/root")); RootedPath p1 = RootedPath.toRootedPath(root, PathFragment.create("p1")); RootedPath p2 = RootedPath.toRootedPath(root, PathFragment.create("p2")); RootedPath p3 = RootedPath.toRootedPath(root, PathFragment.create("p3")); 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 8ae221911e..6ab8e17f37 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 @@ -48,6 +48,7 @@ import com.google.devtools.build.lib.testutil.TimestampGranularityUtils; import com.google.devtools.build.lib.util.io.OutErr; import com.google.devtools.build.lib.util.io.TimestampGranularityMonitor; import com.google.devtools.build.lib.vfs.BatchStat; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileStatus; import com.google.devtools.build.lib.vfs.FileStatusWithDigest; import com.google.devtools.build.lib.vfs.FileStatusWithDigestAdapter; @@ -839,7 +840,7 @@ public class FilesystemValueCheckerTest { boolean readlinkThrowsIoException; MockFileSystem() { - super(); + super(DigestHashFunction.MD5); } @Override diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/GlobFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/GlobFunctionTest.java index 7d118c6f0c..39ca9f97fb 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/GlobFunctionTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/GlobFunctionTest.java @@ -43,6 +43,7 @@ import com.google.devtools.build.lib.syntax.SkylarkSemantics; import com.google.devtools.build.lib.testutil.ManualClock; import com.google.devtools.build.lib.testutil.TestConstants; import com.google.devtools.build.lib.util.io.TimestampGranularityMonitor; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.Dirent; import com.google.devtools.build.lib.vfs.FileStatus; import com.google.devtools.build.lib.vfs.FileSystemUtils; @@ -781,7 +782,7 @@ public abstract class GlobFunctionTest { private Map stubbedStats = Maps.newHashMap(); public CustomInMemoryFs(ManualClock manualClock) { - super(manualClock); + super(manualClock, DigestHashFunction.MD5); } public void stubStat(Path path, @Nullable FileStatus stubbedResult) { diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/PackageFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/PackageFunctionTest.java index 0dd046d67d..da6a1d4a27 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/PackageFunctionTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/PackageFunctionTest.java @@ -36,6 +36,7 @@ import com.google.devtools.build.lib.pkgcache.PathPackageLocator; import com.google.devtools.build.lib.skyframe.util.SkyframeExecutorTestUtils; import com.google.devtools.build.lib.testutil.ManualClock; import com.google.devtools.build.lib.util.io.TimestampGranularityMonitor; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.Dirent; import com.google.devtools.build.lib.vfs.FileStatus; import com.google.devtools.build.lib.vfs.FileSystem; @@ -760,7 +761,7 @@ public class PackageFunctionTest extends BuildViewTestCase { private final Map pathsToErrorOnGetInputStream = Maps.newHashMap(); public CustomInMemoryFs(ManualClock manualClock) { - super(manualClock); + super(manualClock, DigestHashFunction.MD5); } public void stubStat(Path path, @Nullable FileStatus stubbedResult) { diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ParallelBuilderTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/ParallelBuilderTest.java index b03a0e9eae..9065ef17ab 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/ParallelBuilderTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/ParallelBuilderTest.java @@ -41,6 +41,7 @@ import com.google.devtools.build.lib.testutil.BlazeTestUtils; import com.google.devtools.build.lib.testutil.Suite; import com.google.devtools.build.lib.testutil.TestSpec; import com.google.devtools.build.lib.testutil.TestUtils; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileStatus; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.FileSystemUtils; @@ -238,58 +239,59 @@ public class ParallelBuilderTest extends TimestampBuilderTestCase { @Test public void testUpdateCacheError() throws Exception { - FileSystem fs = new InMemoryFileSystem() { - @Override - public FileStatus stat(Path path, boolean followSymlinks) throws IOException { - final FileStatus stat = super.stat(path, followSymlinks); - if (path.toString().endsWith("/out/foo")) { - return new FileStatus() { - private final FileStatus original = stat; + FileSystem fs = + new InMemoryFileSystem(DigestHashFunction.MD5) { + @Override + public FileStatus stat(Path path, boolean followSymlinks) throws IOException { + final FileStatus stat = super.stat(path, followSymlinks); + if (path.toString().endsWith("/out/foo")) { + return new FileStatus() { + private final FileStatus original = stat; - @Override - public boolean isSymbolicLink() { - return original.isSymbolicLink(); - } + @Override + public boolean isSymbolicLink() { + return original.isSymbolicLink(); + } - @Override - public boolean isFile() { - return original.isFile(); - } + @Override + public boolean isFile() { + return original.isFile(); + } - @Override - public boolean isDirectory() { - return original.isDirectory(); - } + @Override + public boolean isDirectory() { + return original.isDirectory(); + } - @Override - public boolean isSpecialFile() { - return original.isSpecialFile(); - } + @Override + public boolean isSpecialFile() { + return original.isSpecialFile(); + } - @Override - public long getSize() throws IOException { - return original.getSize(); - } + @Override + public long getSize() throws IOException { + return original.getSize(); + } - @Override - public long getNodeId() throws IOException { - return original.getNodeId(); - } + @Override + public long getNodeId() throws IOException { + return original.getNodeId(); + } - @Override - public long getLastModifiedTime() throws IOException { - throw new IOException(); - } + @Override + public long getLastModifiedTime() throws IOException { + throw new IOException(); + } - @Override - public long getLastChangeTime() throws IOException { - throw new IOException(); + @Override + public long getLastChangeTime() throws IOException { + throw new IOException(); + } + }; } - }; - } - return stat; - } - }; + return stat; + } + }; Artifact foo = createDerivedArtifact(fs, "foo"); registerAction(new TestAction(TestAction.NO_EFFECT, emptySet, ImmutableList.of(foo))); reporter.removeHandler(failFastHandler); diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitorTestCase.java b/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitorTestCase.java index fae9d22012..1a380f5f4b 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitorTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitorTestCase.java @@ -35,6 +35,7 @@ import com.google.devtools.build.lib.packages.Target; import com.google.devtools.build.lib.packages.util.PackageLoadingTestCase; import com.google.devtools.build.lib.pkgcache.TransitivePackageLoader; import com.google.devtools.build.lib.testutil.ManualClock; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileStatus; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.ModifiedFileSet; @@ -246,7 +247,7 @@ abstract public class SkyframeLabelVisitorTestCase extends PackageLoadingTestCas private Map stubbedStats = Maps.newHashMap(); public CustomInMemoryFs(ManualClock manualClock) { - super(manualClock); + super(manualClock, DigestHashFunction.MD5); } public void stubStat(Path path, @Nullable FileStatus stubbedResult) { diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/TargetMarkerFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/TargetMarkerFunctionTest.java index 6778dc8862..fb43ad26e1 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/TargetMarkerFunctionTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/TargetMarkerFunctionTest.java @@ -25,6 +25,7 @@ import com.google.devtools.build.lib.cmdline.PackageIdentifier; import com.google.devtools.build.lib.packages.BuildFileNotFoundException; import com.google.devtools.build.lib.packages.NoSuchTargetException; import com.google.devtools.build.lib.skyframe.util.SkyframeExecutorTestUtils; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileStatus; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.ModifiedFileSet; @@ -145,7 +146,7 @@ public class TargetMarkerFunctionTest extends BuildViewTestCase { private Map stubbedStatExceptions = Maps.newHashMap(); public CustomInMemoryFs() { - super(BlazeClock.instance()); + super(BlazeClock.instance(), DigestHashFunction.MD5); } public void stubStatIOException(Path path, IOException stubbedResult) { diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/packages/AbstractPackageLoaderTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/packages/AbstractPackageLoaderTest.java index d83b570366..1da13d530b 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/packages/AbstractPackageLoaderTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/packages/AbstractPackageLoaderTest.java @@ -27,6 +27,7 @@ import com.google.devtools.build.lib.events.Reporter; import com.google.devtools.build.lib.events.StoredEventHandler; import com.google.devtools.build.lib.packages.NoSuchPackageException; import com.google.devtools.build.lib.packages.Package; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.Path; @@ -44,7 +45,7 @@ public abstract class AbstractPackageLoaderTest { @Before public final void init() throws Exception { - fs = new InMemoryFileSystem(); + fs = new InMemoryFileSystem(DigestHashFunction.MD5); workspaceDir = fs.getPath("/workspace/"); workspaceDir.createDirectoryAndParents(); reporter = new Reporter(new EventBus()); diff --git a/src/test/java/com/google/devtools/build/lib/testutil/FoundationTestCase.java b/src/test/java/com/google/devtools/build/lib/testutil/FoundationTestCase.java index f93d93612b..0641e65b10 100644 --- a/src/test/java/com/google/devtools/build/lib/testutil/FoundationTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/testutil/FoundationTestCase.java @@ -22,6 +22,7 @@ import com.google.devtools.build.lib.events.EventCollector; import com.google.devtools.build.lib.events.EventHandler; import com.google.devtools.build.lib.events.EventKind; import com.google.devtools.build.lib.events.Reporter; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.inmemoryfs.InMemoryFileSystem; @@ -95,7 +96,7 @@ public abstract class FoundationTestCase { * Creates the file system; override to inject FS behavior. */ protected FileSystem createFileSystem() { - return new InMemoryFileSystem(BlazeClock.instance()); + return new InMemoryFileSystem(BlazeClock.instance(), DigestHashFunction.MD5); } // Mix-in assertions: diff --git a/src/test/java/com/google/devtools/build/lib/testutil/Scratch.java b/src/test/java/com/google/devtools/build/lib/testutil/Scratch.java index e5bf9ea8e9..34538f78dd 100644 --- a/src/test/java/com/google/devtools/build/lib/testutil/Scratch.java +++ b/src/test/java/com/google/devtools/build/lib/testutil/Scratch.java @@ -16,6 +16,7 @@ package com.google.devtools.build.lib.testutil; import com.google.common.io.ByteStreams; import com.google.devtools.build.lib.clock.BlazeClock; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.Path; @@ -41,14 +42,14 @@ public final class Scratch { * Create a new ScratchFileSystem using the {@link InMemoryFileSystem} */ public Scratch() { - this(new InMemoryFileSystem(BlazeClock.instance()), "/"); + this(new InMemoryFileSystem(BlazeClock.instance(), DigestHashFunction.MD5), "/"); } /** * Create a new ScratchFileSystem using the {@link InMemoryFileSystem} */ public Scratch(String workingDir) { - this(new InMemoryFileSystem(BlazeClock.instance()), workingDir); + this(new InMemoryFileSystem(BlazeClock.instance(), DigestHashFunction.MD5), workingDir); } /** diff --git a/src/test/java/com/google/devtools/build/lib/testutil/TestFileOutErr.java b/src/test/java/com/google/devtools/build/lib/testutil/TestFileOutErr.java index fb912c5320..1aec571db5 100644 --- a/src/test/java/com/google/devtools/build/lib/testutil/TestFileOutErr.java +++ b/src/test/java/com/google/devtools/build/lib/testutil/TestFileOutErr.java @@ -14,6 +14,7 @@ package com.google.devtools.build.lib.testutil; import com.google.devtools.build.lib.util.io.FileOutErr; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.inmemoryfs.InMemoryFileSystem; @@ -38,7 +39,7 @@ public class TestFileOutErr extends FileOutErr { } private static Path newInMemoryFile(File root, String name) { - InMemoryFileSystem inMemFS = new InMemoryFileSystem(); + InMemoryFileSystem inMemFS = new InMemoryFileSystem(DigestHashFunction.MD5); Path directory = inMemFS.getPath(root.getPath()); try { FileSystemUtils.createDirectoryAndParents(directory); diff --git a/src/test/java/com/google/devtools/build/lib/util/FileTypeTest.java b/src/test/java/com/google/devtools/build/lib/util/FileTypeTest.java index 9662ca5fa6..fa6faf8353 100644 --- a/src/test/java/com/google/devtools/build/lib/util/FileTypeTest.java +++ b/src/test/java/com/google/devtools/build/lib/util/FileTypeTest.java @@ -19,6 +19,7 @@ import com.google.common.base.Joiner; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; import com.google.devtools.build.lib.util.FileType.HasFileType; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.PathFragment; import com.google.devtools.build.lib.vfs.inmemoryfs.InMemoryFileSystem; @@ -83,7 +84,7 @@ public class FileTypeTest { @Test public void handlesPathObjects() { - Path readme = new InMemoryFileSystem().getPath("/readme.txt"); + Path readme = new InMemoryFileSystem(DigestHashFunction.MD5).getPath("/readme.txt"); assertThat(TEXT.matches(readme)).isTrue(); } diff --git a/src/test/java/com/google/devtools/build/lib/util/FingerprintTest.java b/src/test/java/com/google/devtools/build/lib/util/FingerprintTest.java index 372b48d80c..c5dd670344 100644 --- a/src/test/java/com/google/devtools/build/lib/util/FingerprintTest.java +++ b/src/test/java/com/google/devtools/build/lib/util/FingerprintTest.java @@ -18,6 +18,7 @@ import static java.nio.charset.StandardCharsets.UTF_8; import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.clock.BlazeClock; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.PathFragment; import com.google.devtools.build.lib.vfs.inmemoryfs.InMemoryFileSystem; @@ -116,7 +117,7 @@ public class FingerprintTest { PathFragment pf = PathFragment.create("/etc/pwd"); assertThat(new Fingerprint().addPath(pf).hexDigestAndReset()) .isEqualTo("63ab5c47c117635407a1af6377e216bc"); - Path p = new InMemoryFileSystem(BlazeClock.instance()).getPath(pf); + Path p = new InMemoryFileSystem(BlazeClock.instance(), DigestHashFunction.MD5).getPath(pf); assertThat(new Fingerprint().addPath(p).hexDigestAndReset()) .isEqualTo("63ab5c47c117635407a1af6377e216bc"); } diff --git a/src/test/java/com/google/devtools/build/lib/vfs/FileSystemUtilsTest.java b/src/test/java/com/google/devtools/build/lib/vfs/FileSystemUtilsTest.java index cd6be682a2..b55d47542a 100644 --- a/src/test/java/com/google/devtools/build/lib/vfs/FileSystemUtilsTest.java +++ b/src/test/java/com/google/devtools/build/lib/vfs/FileSystemUtilsTest.java @@ -56,7 +56,7 @@ public class FileSystemUtilsTest { @Before public final void initializeFileSystem() throws Exception { clock = new ManualClock(); - fileSystem = new InMemoryFileSystem(clock); + fileSystem = new InMemoryFileSystem(clock, DigestHashFunction.MD5); workingDir = fileSystem.getPath("/workingDir"); workingDir.createDirectory(); } @@ -372,6 +372,11 @@ public class FileSystemUtilsTest { @Test public void testMoveFileAcrossDevices() throws Exception { class MultipleDeviceFS extends InMemoryFileSystem { + + MultipleDeviceFS() { + super(DigestHashFunction.MD5); + } + @Override public void renameTo(Path source, Path target) throws IOException { if (!source.startsWith(target.asFragment().subFragment(0, 1))) { diff --git a/src/test/java/com/google/devtools/build/lib/vfs/GlobTest.java b/src/test/java/com/google/devtools/build/lib/vfs/GlobTest.java index 5b0958fae1..0a080f4792 100644 --- a/src/test/java/com/google/devtools/build/lib/vfs/GlobTest.java +++ b/src/test/java/com/google/devtools/build/lib/vfs/GlobTest.java @@ -54,15 +54,16 @@ public class GlobTest { @Before public final void initializeFileSystem() throws Exception { - fs = new InMemoryFileSystem() { - @Override - public Collection readdir(Path path, boolean followSymlinks) throws IOException { - if (path.equals(throwOnReaddir)) { - throw new FileNotFoundException(path.getPathString()); - } - return super.readdir(path, followSymlinks); - } - }; + fs = + new InMemoryFileSystem(DigestHashFunction.MD5) { + @Override + public Collection readdir(Path path, boolean followSymlinks) throws IOException { + if (path.equals(throwOnReaddir)) { + throw new FileNotFoundException(path.getPathString()); + } + return super.readdir(path, followSymlinks); + } + }; tmpPath = fs.getPath("/globtmp"); for (String dir : ImmutableList.of("foo/bar/wiz", "foo/barnacle/wiz", diff --git a/src/test/java/com/google/devtools/build/lib/vfs/JavaIoFileSystemTest.java b/src/test/java/com/google/devtools/build/lib/vfs/JavaIoFileSystemTest.java index 056b5f0f1a..ccafd494a9 100644 --- a/src/test/java/com/google/devtools/build/lib/vfs/JavaIoFileSystemTest.java +++ b/src/test/java/com/google/devtools/build/lib/vfs/JavaIoFileSystemTest.java @@ -50,7 +50,7 @@ public class JavaIoFileSystemTest extends SymlinkAwareFileSystemTest { @Override public FileSystem getFreshFileSystem() { clock = new ManualClock(); - return new JavaIoFileSystem(clock); + return new JavaIoFileSystem(clock, DigestHashFunction.MD5); } // Tests are inherited from the FileSystemTest diff --git a/src/test/java/com/google/devtools/build/lib/vfs/PathAbstractTest.java b/src/test/java/com/google/devtools/build/lib/vfs/PathAbstractTest.java index 7494683391..4fa70628bd 100644 --- a/src/test/java/com/google/devtools/build/lib/vfs/PathAbstractTest.java +++ b/src/test/java/com/google/devtools/build/lib/vfs/PathAbstractTest.java @@ -37,7 +37,7 @@ public abstract class PathAbstractTest { @Before public void setup() { - fileSystem = new InMemoryFileSystem(BlazeClock.instance()); + fileSystem = new InMemoryFileSystem(BlazeClock.instance(), DigestHashFunction.MD5); isCaseSensitive = OsPathPolicy.getFilePathOs().isCaseSensitive(); } diff --git a/src/test/java/com/google/devtools/build/lib/vfs/PathFragmentTest.java b/src/test/java/com/google/devtools/build/lib/vfs/PathFragmentTest.java index 78986e0f5e..20deec04c3 100644 --- a/src/test/java/com/google/devtools/build/lib/vfs/PathFragmentTest.java +++ b/src/test/java/com/google/devtools/build/lib/vfs/PathFragmentTest.java @@ -40,7 +40,7 @@ public class PathFragmentTest { @Test public void testEqualsAndHashCode() { - InMemoryFileSystem filesystem = new InMemoryFileSystem(); + InMemoryFileSystem filesystem = new InMemoryFileSystem(DigestHashFunction.MD5); new EqualsTester() .addEqualityGroup( diff --git a/src/test/java/com/google/devtools/build/lib/vfs/RecursiveGlobTest.java b/src/test/java/com/google/devtools/build/lib/vfs/RecursiveGlobTest.java index 51b3e79529..d57f23f1b0 100644 --- a/src/test/java/com/google/devtools/build/lib/vfs/RecursiveGlobTest.java +++ b/src/test/java/com/google/devtools/build/lib/vfs/RecursiveGlobTest.java @@ -37,7 +37,7 @@ public class RecursiveGlobTest { @Before public final void initializeFileSystem() throws Exception { - fileSystem = new InMemoryFileSystem(BlazeClock.instance()); + fileSystem = new InMemoryFileSystem(BlazeClock.instance(), DigestHashFunction.MD5); tmpPath = fileSystem.getPath("/rglobtmp"); for (String dir : ImmutableList.of("foo/bar/wiz", "foo/baz/wiz", diff --git a/src/test/java/com/google/devtools/build/lib/vfs/RootTest.java b/src/test/java/com/google/devtools/build/lib/vfs/RootTest.java index 640f8c4c91..5d15bf9ed2 100644 --- a/src/test/java/com/google/devtools/build/lib/vfs/RootTest.java +++ b/src/test/java/com/google/devtools/build/lib/vfs/RootTest.java @@ -35,12 +35,12 @@ public class RootTest { @Before public final void initializeFileSystem() throws Exception { - fs = new InMemoryFileSystem(BlazeClock.instance()); + fs = new InMemoryFileSystem(BlazeClock.instance(), DigestHashFunction.MD5); } @Test public void testEqualsAndHashCodeContract() throws Exception { - FileSystem otherFs = new InMemoryFileSystem(BlazeClock.instance()); + FileSystem otherFs = new InMemoryFileSystem(BlazeClock.instance(), DigestHashFunction.MD5); new EqualsTester() .addEqualityGroup(Root.absoluteRoot(fs), Root.absoluteRoot(fs)) .addEqualityGroup(Root.absoluteRoot(otherFs), Root.absoluteRoot(otherFs)) @@ -68,7 +68,7 @@ public class RootTest { @Test public void testFilesystemTransform() throws Exception { - FileSystem fs2 = new InMemoryFileSystem(BlazeClock.instance()); + FileSystem fs2 = new InMemoryFileSystem(BlazeClock.instance(), DigestHashFunction.MD5); Root root = Root.fromPath(fs.getPath("/foo")); Root root2 = Root.toFileSystem(root, fs2); assertThat(root2.asPath().getFileSystem()).isSameAs(fs2); diff --git a/src/test/java/com/google/devtools/build/lib/vfs/RootedPathTest.java b/src/test/java/com/google/devtools/build/lib/vfs/RootedPathTest.java index 6f452c2fcb..aa1513f734 100644 --- a/src/test/java/com/google/devtools/build/lib/vfs/RootedPathTest.java +++ b/src/test/java/com/google/devtools/build/lib/vfs/RootedPathTest.java @@ -31,7 +31,7 @@ public class RootedPathTest { @Before public final void initializeFileSystem() throws Exception { - filesystem = new InMemoryFileSystem(BlazeClock.instance()); + filesystem = new InMemoryFileSystem(BlazeClock.instance(), DigestHashFunction.MD5); root = filesystem.getPath("/"); } diff --git a/src/test/java/com/google/devtools/build/lib/vfs/SearchPathTest.java b/src/test/java/com/google/devtools/build/lib/vfs/SearchPathTest.java index e815a8cc23..01069d1e8e 100644 --- a/src/test/java/com/google/devtools/build/lib/vfs/SearchPathTest.java +++ b/src/test/java/com/google/devtools/build/lib/vfs/SearchPathTest.java @@ -25,7 +25,7 @@ import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class SearchPathTest { - private FileSystem fs = new InMemoryFileSystem(); + private FileSystem fs = new InMemoryFileSystem(DigestHashFunction.MD5); @Test public void testNull() throws Exception { diff --git a/src/test/java/com/google/devtools/build/lib/vfs/inmemoryfs/InMemoryFileSystemTest.java b/src/test/java/com/google/devtools/build/lib/vfs/inmemoryfs/InMemoryFileSystemTest.java index 6f2b4e7858..8c1ffac7c2 100644 --- a/src/test/java/com/google/devtools/build/lib/vfs/inmemoryfs/InMemoryFileSystemTest.java +++ b/src/test/java/com/google/devtools/build/lib/vfs/inmemoryfs/InMemoryFileSystemTest.java @@ -19,6 +19,7 @@ import static org.junit.Assert.fail; import com.google.common.collect.Lists; import com.google.devtools.build.lib.clock.BlazeClock; import com.google.devtools.build.lib.testutil.TestThread; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.PathFragment; @@ -44,7 +45,7 @@ public class InMemoryFileSystemTest extends SymlinkAwareFileSystemTest { @Override public FileSystem getFreshFileSystem() { - return new InMemoryFileSystem(BlazeClock.instance()); + return new InMemoryFileSystem(BlazeClock.instance(), DigestHashFunction.MD5); } @Override diff --git a/src/test/java/com/google/devtools/build/lib/vfs/util/FsApparatus.java b/src/test/java/com/google/devtools/build/lib/vfs/util/FsApparatus.java index 1f78b189bf..1305c992b6 100644 --- a/src/test/java/com/google/devtools/build/lib/vfs/util/FsApparatus.java +++ b/src/test/java/com/google/devtools/build/lib/vfs/util/FsApparatus.java @@ -16,6 +16,7 @@ package com.google.devtools.build.lib.vfs.util; import com.google.devtools.build.lib.clock.BlazeClock; import com.google.devtools.build.lib.testutil.TestUtils; import com.google.devtools.build.lib.util.StringUtilities; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.Path; @@ -68,7 +69,7 @@ public class FsApparatus { } private FsApparatus() { - fileSystem = new InMemoryFileSystem(BlazeClock.instance()); + fileSystem = new InMemoryFileSystem(BlazeClock.instance(), DigestHashFunction.MD5); workingDir = fileSystem.getPath("/"); } diff --git a/src/test/java/com/google/devtools/build/lib/worker/ErrorMessageTest.java b/src/test/java/com/google/devtools/build/lib/worker/ErrorMessageTest.java index 4607b22e74..98de2b8186 100644 --- a/src/test/java/com/google/devtools/build/lib/worker/ErrorMessageTest.java +++ b/src/test/java/com/google/devtools/build/lib/worker/ErrorMessageTest.java @@ -18,6 +18,7 @@ import static com.google.common.truth.Truth.assertThat; import static java.nio.charset.StandardCharsets.UTF_8; import com.google.devtools.build.lib.util.OS; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.inmemoryfs.InMemoryFileSystem; @@ -85,7 +86,7 @@ public class ErrorMessageTest { @Test public void testErrorMessageWithLogFile() throws Exception { - InMemoryFileSystem fs = new InMemoryFileSystem(); + InMemoryFileSystem fs = new InMemoryFileSystem(DigestHashFunction.MD5); Path logFile = fs.getPath("/log.txt"); FileSystemUtils.writeContent(logFile, UTF_8, logText); ErrorMessage errorMessage = @@ -104,7 +105,7 @@ public class ErrorMessageTest { // TODO(#3536): This test is failing on Windows, probably due to line breaks. Fix it! return; } - InMemoryFileSystem fs = new InMemoryFileSystem(); + InMemoryFileSystem fs = new InMemoryFileSystem(DigestHashFunction.MD5); // This file does not exist. Path logFile = fs.getPath("/nope.txt"); ErrorMessage errorMessage = diff --git a/src/test/java/com/google/devtools/build/lib/worker/WorkerExecRootTest.java b/src/test/java/com/google/devtools/build/lib/worker/WorkerExecRootTest.java index b7758e66a5..2eb8981feb 100644 --- a/src/test/java/com/google/devtools/build/lib/worker/WorkerExecRootTest.java +++ b/src/test/java/com/google/devtools/build/lib/worker/WorkerExecRootTest.java @@ -18,6 +18,7 @@ import static com.google.common.truth.Truth.assertThat; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.devtools.build.lib.testutil.TestUtils; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.Path; @@ -41,7 +42,7 @@ public class WorkerExecRootTest { @Before public final void setupTestDirs() throws IOException { - fileSystem = new InMemoryFileSystem(); + fileSystem = new InMemoryFileSystem(DigestHashFunction.MD5); testRoot = fileSystem.getPath(TestUtils.tmpDir()); testRoot.createDirectoryAndParents(); diff --git a/src/test/java/com/google/devtools/build/lib/worker/WorkerFactoryTest.java b/src/test/java/com/google/devtools/build/lib/worker/WorkerFactoryTest.java index 0552cb8c5a..36f569f138 100644 --- a/src/test/java/com/google/devtools/build/lib/worker/WorkerFactoryTest.java +++ b/src/test/java/com/google/devtools/build/lib/worker/WorkerFactoryTest.java @@ -19,6 +19,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSortedMap; import com.google.common.hash.HashCode; +import com.google.devtools.build.lib.vfs.DigestHashFunction; import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.inmemoryfs.InMemoryFileSystem; @@ -30,7 +31,7 @@ import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class WorkerFactoryTest { - final FileSystem fs = new InMemoryFileSystem(); + final FileSystem fs = new InMemoryFileSystem(DigestHashFunction.MD5); /** * Regression test for b/64689608: The execroot of the sandboxed worker process must end with the -- cgit v1.2.3