Remove FileArtifactValue#injectDigestForTesting().
Instead, use the exact same logic for testing as for production: ActionMetadataHandler#fileArtifactValueForTesting followed by FileArtifactValue#createFromInjectedDigest().
Even better would be if we could use the same code, but that's a bit complicated since these two methods are called from quite different places in production.
RELNOTES: None.
PiperOrigin-RevId: 261097583
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 8a7183e..9d7811d 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
@@ -43,11 +43,13 @@
import com.google.devtools.build.lib.skyframe.serialization.testutils.SerializationTester;
import com.google.devtools.build.lib.util.Pair;
import com.google.devtools.build.lib.vfs.FileStatus;
+import com.google.devtools.build.lib.vfs.FileStatusWithDigestAdapter;
import com.google.devtools.build.lib.vfs.FileSystem;
import com.google.devtools.build.lib.vfs.FileSystemUtils;
import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.lib.vfs.PathFragment;
import com.google.devtools.build.lib.vfs.Root;
+import com.google.devtools.build.lib.vfs.Symlinks;
import com.google.devtools.build.skyframe.EvaluationContext;
import com.google.devtools.build.skyframe.EvaluationResult;
import com.google.devtools.build.skyframe.SkyFunction;
@@ -434,9 +436,16 @@
treeFileArtifact2, FileArtifactValue.createForTesting(treeFileArtifact2)));
treeArtifactData.put(output, treeArtifactValue);
} else if (action.getActionType() == MiddlemanType.NORMAL) {
- FileArtifactValue fileValue =
- ActionMetadataHandler.fileArtifactValueFromArtifact(output, null, null);
- artifactData.put(output, FileArtifactValue.injectDigestForTesting(output, fileValue));
+ Path path = output.getPath();
+ FileArtifactValue noDigest =
+ ActionMetadataHandler.fileArtifactValueFromArtifact(
+ output,
+ FileStatusWithDigestAdapter.adapt(path.statIfFound(Symlinks.NOFOLLOW)),
+ null);
+ FileArtifactValue withDigest =
+ FileArtifactValue.createFromInjectedDigest(
+ noDigest, path.getDigest(), !output.isConstantMetadata());
+ artifactData.put(output, withDigest);
} else {
artifactData.put(output, FileArtifactValue.DEFAULT_MIDDLEMAN);
}