From d829236e9feee234fde3a4aed36e1349b7e9ee16 Mon Sep 17 00:00:00 2001 From: mjhalupka Date: Fri, 23 Feb 2018 11:11:20 -0800 Subject: Apply @AutoCodec to ExecutableSymlinkAction and SymlinkAction. AbstractAction had getPrimaryInput() and getPrimaryOutput() which is why arguments are renamed. PiperOrigin-RevId: 186795064 --- .../lib/actions/ExecutableSymlinkActionTest.java | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'src/test/java/com/google/devtools/build/lib/actions/ExecutableSymlinkActionTest.java') 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(); + } } -- cgit v1.2.3