aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/actions/ExecutableSymlinkActionTest.java
diff options
context:
space:
mode:
authorGravatar mjhalupka <mjhalupka@google.com>2018-02-23 11:11:20 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-23 11:13:31 -0800
commitd829236e9feee234fde3a4aed36e1349b7e9ee16 (patch)
tree5714779886376791014eda84cdb6f8cc438ba9cf /src/test/java/com/google/devtools/build/lib/actions/ExecutableSymlinkActionTest.java
parent61aa6b7634394c7674d04da8206cf35f2aae976a (diff)
Apply @AutoCodec to ExecutableSymlinkAction and SymlinkAction.
AbstractAction had getPrimaryInput() and getPrimaryOutput() which is why arguments are renamed. PiperOrigin-RevId: 186795064
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/actions/ExecutableSymlinkActionTest.java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/actions/ExecutableSymlinkActionTest.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/actions/ExecutableSymlinkActionTest.java b/src/test/java/com/google/devtools/build/lib/actions/ExecutableSymlinkActionTest.java
index b1e63b6039..2fd14211e2 100644
--- a/src/test/java/com/google/devtools/build/lib/actions/ExecutableSymlinkActionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/actions/ExecutableSymlinkActionTest.java
@@ -22,8 +22,12 @@ import com.google.common.collect.ImmutableMap;
import com.google.devtools.build.lib.actions.util.DummyExecutor;
import com.google.devtools.build.lib.analysis.actions.ExecutableSymlinkAction;
import com.google.devtools.build.lib.exec.SingleBuildFileCache;
+import com.google.devtools.build.lib.skyframe.serialization.DeserializationContext;
+import com.google.devtools.build.lib.skyframe.serialization.SerializationContext;
+import com.google.devtools.build.lib.skyframe.serialization.testutils.SerializationTester;
import com.google.devtools.build.lib.testutil.Scratch;
import com.google.devtools.build.lib.testutil.TestFileOutErr;
+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 org.junit.Before;
@@ -112,4 +116,35 @@ public class ExecutableSymlinkActionTest {
.isTrue();
}
}
+
+ @Test
+ public void testCodec() throws Exception {
+ Path file = inputRoot.getRoot().getRelative("some-file");
+ FileSystemUtils.createEmptyFile(file);
+ file.setExecutable(/*executable=*/ false);
+ Artifact input = new Artifact(file, inputRoot);
+ Artifact output = new Artifact(outputRoot.getRoot().getRelative("some-output"), outputRoot);
+ ExecutableSymlinkAction action = new ExecutableSymlinkAction(NULL_ACTION_OWNER, input, output);
+ new SerializationTester(action)
+ .setWriteContextFactory(
+ () ->
+ new SerializationContext(
+ ImmutableMap.of(FileSystem.class, scratch.getFileSystem())))
+ .setReadContextFactory(
+ () ->
+ new DeserializationContext(
+ ImmutableMap.of(FileSystem.class, scratch.getFileSystem())))
+ .setVerificationFunction(
+ (in, out) -> {
+ ExecutableSymlinkAction inAction = (ExecutableSymlinkAction) in;
+ ExecutableSymlinkAction outAction = (ExecutableSymlinkAction) out;
+ assertThat(inAction.getPrimaryInput().getFilename())
+ .isEqualTo(outAction.getPrimaryInput().getFilename());
+ assertThat(inAction.getPrimaryOutput().getFilename())
+ .isEqualTo(outAction.getPrimaryOutput().getFilename());
+ assertThat(inAction.getOwner()).isEqualTo(outAction.getOwner());
+ assertThat(inAction.getProgressMessage()).isEqualTo(outAction.getProgressMessage());
+ })
+ .runTests();
+ }
}