diff options
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/skyframe')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunctionTest.java | 184 | ||||
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/skyframe/SkyframeAwareActionTest.java | 6 |
2 files changed, 8 insertions, 182 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunctionTest.java index e972020051..5e5ff1420c 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunctionTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunctionTest.java @@ -593,147 +593,6 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase { } @Test - public void testNestedFileFilesetTraversal() throws Exception { - Artifact path1 = getSourceArtifact("foo/bar.file"); - createFile(path1, "blah"); - Artifact path2 = getSourceArtifact("foo/baz.file"); - createFile(path2, "what"); - FilesetTraversalParams inner1 = - FilesetTraversalParamsFactory.fileTraversal( - /*ownerLabel=*/ label("//foo"), - /*fileToTraverse=*/ path1, - PathFragment.create("inner-out1"), - /*symlinkBehaviorMode=*/ SymlinkBehavior.COPY, - /*pkgBoundaryMode=*/ DONT_CROSS, - /*strictFilesetOutput=*/ false); - FilesetTraversalParams inner2 = - FilesetTraversalParamsFactory.fileTraversal( - /*ownerLabel=*/ label("//foo"), - /*fileToTraverse=*/ path2, - PathFragment.create("inner-out2"), - /*symlinkBehaviorMode=*/ SymlinkBehavior.COPY, - /*pkgBoundaryMode=*/ DONT_CROSS, - /*strictFilesetOutput=*/ false); - FilesetTraversalParams outer = - FilesetTraversalParamsFactory.nestedTraversal( - /*ownerLabel=*/ label("//foo:bar"), - /*nested=*/ ImmutableList.of(inner1, inner2), - PathFragment.create("outer-out"), - /*excludes=*/ null); - assertSymlinksCreatedInOrder( - outer, - symlink("outer-out/inner-out1", rootedPath(path1)), - symlink("outer-out/inner-out2", rootedPath(path2))); - } - - @Test - public void testMultiLevelNesting() throws Exception { - Artifact path1 = getSourceArtifact("foo/bar.file"); - createFile(path1, "blah"); - Artifact path2 = getSourceArtifact("foo/baz.file"); - createFile(path2, "what"); - Artifact path3 = getSourceArtifact("foo/hw.file"); - createFile(path3, "hello"); - FilesetTraversalParams inner1 = - FilesetTraversalParamsFactory.fileTraversal( - /*ownerLabel=*/ label("//foo"), - /*fileToTraverse=*/ path1, - PathFragment.create("inner-out1"), - /*symlinkBehaviorMode=*/ SymlinkBehavior.COPY, - /*pkgBoundaryMode=*/ DONT_CROSS, - /*strictFilesetOutput=*/ false); - FilesetTraversalParams inner2 = - FilesetTraversalParamsFactory.fileTraversal( - /*ownerLabel=*/ label("//foo"), - /*fileToTraverse=*/ path2, - PathFragment.create("inner-out2"), - /*symlinkBehaviorMode=*/ SymlinkBehavior.COPY, - /*pkgBoundaryMode=*/ DONT_CROSS, - /*strictFilesetOutput=*/ false); - FilesetTraversalParams middle1 = - FilesetTraversalParamsFactory.nestedTraversal( - /*ownerLabel=*/ label("//foo:middle1"), - /*nested=*/ ImmutableList.of(inner1, inner2), - PathFragment.create("middle-out1"), - /*excludes=*/ null); - - FilesetTraversalParams inner3 = - FilesetTraversalParamsFactory.fileTraversal( - /*ownerLabel=*/ label("//foo:inner3"), - /*fileToTraverse=*/ path3, - PathFragment.create("inner-out3"), - /*symlinkBehaviorMode=*/ SymlinkBehavior.COPY, - /*pkgBoundaryMode=*/ DONT_CROSS, - /*strictFilesetOutput=*/ false); - FilesetTraversalParams middle2 = - FilesetTraversalParamsFactory.nestedTraversal( - /*ownerLabel=*/ label("//foo:middle2"), - /*nested=*/ ImmutableList.of(inner3), - PathFragment.create("middle-out2"), - /*excludes=*/ null); - - FilesetTraversalParams outer = - FilesetTraversalParamsFactory.nestedTraversal( - /*ownerLabel=*/ label("//foo:bar"), - /*nested=*/ ImmutableList.of(middle1, middle2), - PathFragment.create("outer-out"), - /*excludes=*/ null); - assertSymlinksCreatedInOrder( - outer, - symlink("outer-out/middle-out1/inner-out1", rootedPath(path1)), - symlink("outer-out/middle-out1/inner-out2", rootedPath(path2)), - symlink("outer-out/middle-out2/inner-out3", rootedPath(path3))); - } - - private void assertNestedRecursiveFilesetTraversal(boolean useInnerDir) throws Exception { - Artifact dir = getSourceArtifact("foo/dir"); - RootedPath fileA = createFile(childOf(dir, "file.a"), "hello"); - RootedPath fileB = createFile(childOf(dir, "file.b"), "hello"); - RootedPath fileC = createFile(childOf(dir, "sub/file.c"), "world"); - - FilesetTraversalParams inner = - FilesetTraversalParamsFactory.recursiveTraversalOfDirectory( - /*ownerLabel=*/ label("//foo"), - /*directoryToTraverse=*/ dir, - PathFragment.create(useInnerDir ? "inner-dir" : ""), - /*excludes=*/ null, - /*symlinkBehaviorMode=*/ SymlinkBehavior.COPY, - /*pkgBoundaryMode=*/ DONT_CROSS, - /*strictFilesetOutput=*/ false); - FilesetTraversalParams outer = - FilesetTraversalParamsFactory.nestedTraversal( - /*ownerLabel=*/ label("//foo"), - /*nested=*/ ImmutableList.of(inner), - PathFragment.create("outer-dir"), - /*excludes=*/ ImmutableSet.of("file.a", "sub/file.c")); - - if (useInnerDir) { - assertSymlinksCreatedInOrder( - outer, - // no file is excluded, since no files from "inner" are top-level in the outer Fileset - symlink("outer-dir/inner-dir/file.a", fileA), - symlink("outer-dir/inner-dir/file.b", fileB), - symlink("outer-dir/inner-dir/sub/file.c", fileC)); // only top-level files are excluded - } else { - assertSymlinksCreatedInOrder( - outer, - // file.a can be excluded because it's top-level (there's no output directory for "inner") - symlink("outer-dir/file.b", fileB), - symlink("outer-dir/sub/file.c", fileC)); // only top-level files could be excluded - } - } - - @Test - public void testNestedRecursiveFilesetTraversalWithInnerDestDir() throws Exception { - assertNestedRecursiveFilesetTraversal(true); - } - - @Test - public void testNestedRecursiveFilesetTraversalWithoutInnerDestDir() throws Exception { - assertNestedRecursiveFilesetTraversal(false); - } - - @Test public void testFileTraversalForDanglingSymlink() throws Exception { Artifact linkName = getSourceArtifact("foo/dangling.sym"); RootedPath linkTarget = createFile(siblingOf(linkName, "target.file"), "blah"); @@ -1071,48 +930,13 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase { @Test public void testFingerprintOfNestedTraversal() throws Exception { - FilesetTraversalParams n1 = - FilesetTraversalParamsFactory.fileTraversal( - /*ownerLabel=*/ label("//blah"), - /*fileToTraverse=*/ getSourceArtifact("blah/file.a"), - PathFragment.create("output-name"), - /*symlinkBehaviorMode=*/ SymlinkBehavior.COPY, - /*pkgBoundaryMode=*/ DONT_CROSS, - /*strictFilesetOutput=*/ false); - - FilesetTraversalParams n2 = - FilesetTraversalParamsFactory.fileTraversal( - /*ownerLabel=*/ label("//blah"), - /*fileToTraverse=*/ getSourceArtifact("meow/file.b"), - PathFragment.create("output-name"), - /*symlinkBehaviorMode=*/ SymlinkBehavior.COPY, - /*pkgBoundaryMode=*/ DONT_CROSS, - /*strictFilesetOutput=*/ false); - ImmutableList<FilesetTraversalParams> nested1 = ImmutableList.of(n1, n2); - - FilesetTraversalParams n3 = - FilesetTraversalParamsFactory.fileTraversal( - /*ownerLabel=*/ label("//blah"), - /*fileToTraverse=*/ getSourceArtifact("brrr/file.c"), - PathFragment.create("output-name"), - /*symlinkBehaviorMode=*/ SymlinkBehavior.COPY, - /*pkgBoundaryMode=*/ DONT_CROSS, - /*strictFilesetOutput=*/ false); - - FilesetTraversalParams n4 = - FilesetTraversalParamsFactory.fileTraversal( - /*ownerLabel=*/ label("//blah"), - /*fileToTraverse=*/ getSourceArtifact("hurr/file.d"), - PathFragment.create("output-name"), - /*symlinkBehaviorMode=*/ SymlinkBehavior.COPY, - /*pkgBoundaryMode=*/ DONT_CROSS, - /*strictFilesetOutput=*/ false); - ImmutableList<FilesetTraversalParams> nested2 = ImmutableList.of(n3, n4); + Artifact nested1 = getSourceArtifact("a/b"); + Artifact nested2 = getSourceArtifact("a/c"); new FingerprintTester( ImmutableMap.<String, Domain>of( "ownerLabel", notPartOfFingerprint("//foo", "//bar"), - "nested", partOfFingerprint(nested1, nested2), + "nestedArtifact", partOfFingerprint(nested1, nested2), "destDir", partOfFingerprint("out1", "out2"), "excludes", partOfFingerprint(ImmutableSet.<String>of(), ImmutableSet.<String>of("x")))) { @@ -1121,7 +945,7 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase { FilesetTraversalParams create(Map<String, ?> kwArgs) throws Exception { return FilesetTraversalParamsFactory.nestedTraversal( label((String) kwArgs.get("ownerLabel")), - (ImmutableList<FilesetTraversalParams>) kwArgs.get("nested"), + (Artifact) kwArgs.get("nestedArtifact"), PathFragment.create((String) kwArgs.get("destDir")), (Set<String>) kwArgs.get("excludes")); } diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeAwareActionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeAwareActionTest.java index 3060a08d3e..18f117f43a 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeAwareActionTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeAwareActionTest.java @@ -249,11 +249,12 @@ public class SkyframeAwareActionTest extends TimestampBuilderTestCase { } @Override - public void establishSkyframeDependencies(Environment env) + public Object establishSkyframeDependencies(Environment env) throws ExceptionBase, InterruptedException { // Establish some Skyframe dependency. A real action would then use this to compute and // cache data for the execute(...) method. env.getValue(actionDepKey); + return null; } } @@ -797,8 +798,9 @@ public class SkyframeAwareActionTest extends TimestampBuilderTestCase { registerAction( new SingleOutputSkyframeAwareAction(genFile1, genFile2) { @Override - public void establishSkyframeDependencies(Environment env) throws ExceptionBase { + public Object establishSkyframeDependencies(Environment env) throws ExceptionBase { assertThat(env.valuesMissing()).isFalse(); + return null; } @Override |