diff options
Diffstat (limited to 'src/test/java/com/google/devtools')
6 files changed, 45 insertions, 1 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/BUILD b/src/test/java/com/google/devtools/build/lib/BUILD index 5edd716518..7cbf304f16 100644 --- a/src/test/java/com/google/devtools/build/lib/BUILD +++ b/src/test/java/com/google/devtools/build/lib/BUILD @@ -484,6 +484,7 @@ java_library( "//src/main/java/com/google/devtools/build/lib/actions", "//src/main/java/com/google/devtools/build/lib/clock", "//src/main/java/com/google/devtools/build/lib/concurrent", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", "//src/main/java/com/google/devtools/build/lib/vfs", "//src/main/java/com/google/devtools/build/lib/vfs/inmemoryfs", "//src/main/java/com/google/devtools/build/skyframe", @@ -522,6 +523,8 @@ java_test( "//src/main/java/com/google/devtools/build/lib/collect/nestedset", "//src/main/java/com/google/devtools/build/lib/concurrent", "//src/main/java/com/google/devtools/build/lib/rules/cpp", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/testutils", "//src/main/java/com/google/devtools/build/lib/vfs", "//src/main/java/com/google/devtools/build/lib/vfs/inmemoryfs", "//src/main/java/com/google/devtools/common/options", diff --git a/src/test/java/com/google/devtools/build/lib/actions/ArtifactTest.java b/src/test/java/com/google/devtools/build/lib/actions/ArtifactTest.java index cd47c41b81..363bae9df3 100644 --- a/src/test/java/com/google/devtools/build/lib/actions/ArtifactTest.java +++ b/src/test/java/com/google/devtools/build/lib/actions/ArtifactTest.java @@ -25,6 +25,8 @@ import com.google.devtools.build.lib.actions.util.LabelArtifactOwner; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.rules.cpp.CppFileTypes; import com.google.devtools.build.lib.rules.java.JavaSemantics; +import com.google.devtools.build.lib.skyframe.serialization.InjectingObjectCodecAdapter; +import com.google.devtools.build.lib.skyframe.serialization.testutils.ObjectCodecTester; import com.google.devtools.build.lib.testutil.Scratch; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.PathFragment; @@ -339,6 +341,23 @@ public class ArtifactTest { } @Test + public void testCodec() throws Exception { + ObjectCodecTester.newBuilder( + new InjectingObjectCodecAdapter<>(Artifact.CODEC, () -> scratch.getFileSystem())) + .addSubjects( + new Artifact(PathFragment.create("src/a"), rootDir), + new Artifact( + PathFragment.create("src/b"), ArtifactRoot.asSourceRoot(Root.fromPath(execDir))), + new Artifact( + scratch.file("/src/c"), + ArtifactRoot.asDerivedRoot( + scratch.getFileSystem().getPath("/"), scratch.dir("/src")), + PathFragment.create("c"), + new LabelArtifactOwner(Label.parseAbsoluteUnchecked("//foo:bar")))) + .buildAndRunTests(); + } + + @Test public void testLongDirname() throws Exception { String dirName = createDirNameArtifact().getDirname(); diff --git a/src/test/java/com/google/devtools/build/lib/actions/util/LabelArtifactOwner.java b/src/test/java/com/google/devtools/build/lib/actions/util/LabelArtifactOwner.java index 1baf5b4de0..0d24177180 100644 --- a/src/test/java/com/google/devtools/build/lib/actions/util/LabelArtifactOwner.java +++ b/src/test/java/com/google/devtools/build/lib/actions/util/LabelArtifactOwner.java @@ -16,12 +16,17 @@ package com.google.devtools.build.lib.actions.util; import com.google.common.annotations.VisibleForTesting; import com.google.devtools.build.lib.actions.ArtifactOwner; import com.google.devtools.build.lib.cmdline.Label; - +import com.google.devtools.build.lib.skyframe.serialization.ObjectCodec; +import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import java.util.Objects; /** ArtifactOwner wrapper for Labels, for use in tests. */ @VisibleForTesting +@AutoCodec public class LabelArtifactOwner implements ArtifactOwner { + + public static final ObjectCodec<LabelArtifactOwner> CODEC = new LabelArtifactOwner_AutoCodec(); + private final Label label; @VisibleForTesting diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/BUILD b/src/test/java/com/google/devtools/build/lib/skyframe/BUILD index e9cfbfda0d..3896f0a261 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/BUILD +++ b/src/test/java/com/google/devtools/build/lib/skyframe/BUILD @@ -31,6 +31,7 @@ java_library( "//src/main/java/com/google/devtools/build/lib/collect", "//src/main/java/com/google/devtools/build/lib/concurrent", "//src/main/java/com/google/devtools/build/lib/rules/platform", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", "//src/main/java/com/google/devtools/build/lib/vfs", "//src/main/java/com/google/devtools/build/skyframe", "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects", @@ -79,6 +80,7 @@ java_test( "//src/main/java/com/google/devtools/build/lib/concurrent", "//src/main/java/com/google/devtools/build/lib/rules/cpp", "//src/main/java/com/google/devtools/build/lib/skyframe/serialization", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/testutils", "//src/main/java/com/google/devtools/build/lib/vfs", "//src/main/java/com/google/devtools/build/lib/vfs/inmemoryfs", diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java b/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java index 27e95b58bb..3b39d03441 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java @@ -65,6 +65,7 @@ import com.google.devtools.build.lib.skyframe.ExternalFilesHelper.ExternalFileAc import com.google.devtools.build.lib.skyframe.PackageLookupFunction.CrossRepositoryLabelViolationStrategy; import com.google.devtools.build.lib.skyframe.SkyframeActionExecutor.ActionCompletedReceiver; import com.google.devtools.build.lib.skyframe.SkyframeActionExecutor.ProgressSupplier; +import com.google.devtools.build.lib.skyframe.serialization.SingletonCodec; import com.google.devtools.build.lib.testutil.FoundationTestCase; import com.google.devtools.build.lib.testutil.TestConstants; import com.google.devtools.build.lib.testutil.TestRuleClassProvider; @@ -494,6 +495,10 @@ public abstract class TimestampBuilderTestCase extends FoundationTestCase { } private static class SingletonActionLookupKey extends ActionLookupValue.ActionLookupKey { + + public static final SingletonCodec<SingletonActionLookupKey> CODEC = + SingletonCodec.of(new SingletonActionLookupKey(), "none"); + @Override public SkyFunctionName functionName() { return SkyFunctions.CONFIGURED_TARGET; diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactBuildTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactBuildTest.java index 1a9063b33f..675030c84f 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactBuildTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactBuildTest.java @@ -52,6 +52,8 @@ import com.google.devtools.build.lib.events.Event; import com.google.devtools.build.lib.events.EventKind; import com.google.devtools.build.lib.events.StoredEventHandler; import com.google.devtools.build.lib.skyframe.ActionTemplateExpansionValue.ActionTemplateExpansionKey; +import com.google.devtools.build.lib.skyframe.serialization.InjectingObjectCodecAdapter; +import com.google.devtools.build.lib.skyframe.serialization.testutils.ObjectCodecTester; import com.google.devtools.build.lib.testutil.TestUtils; import com.google.devtools.build.lib.vfs.FileStatus; import com.google.devtools.build.lib.vfs.FileSystem; @@ -114,6 +116,14 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase { outTwoFileTwo = treeFileArtifact(outTwo, "out_one_file_two"); } + @Test + public void testCodec() throws Exception { + ObjectCodecTester.newBuilder( + new InjectingObjectCodecAdapter<>(Artifact.CODEC, () -> scratch.getFileSystem())) + .addSubjects(outOne, outOneFileOne) + .buildAndRunTests(); + } + /** Simple smoke test. If this isn't passing, something is very wrong... */ @Test public void testTreeArtifactSimpleCase() throws Exception { |