diff options
author | 2018-06-18 08:54:36 -0700 | |
---|---|---|
committer | 2018-06-18 08:56:15 -0700 | |
commit | ba2f39140735948e83168de7e8124cddc477d0f1 (patch) | |
tree | c6ebf5ad2bae1e48006094d91df665a04e501704 /src/test | |
parent | e35e8cfabd33e2e35b88d3693083350cf3c9d006 (diff) |
Consider runfiles symlinks when computing Runfiles.getEmptyFilenames().
Runfiles.getEmptyFilenames() only considered the unconditional and
pruning manifest artifacts for empty-file insertion. Actual manifest
creation asks the empty files supplier for empty files over symlinks
(but not root symlinks!), too.
Change-Id: Ice69bbaa9e6169bff7ec5833ee7ef1b73049a4a7
Closes #5334.
Change-Id: Ice69bbaa9e6169bff7ec5833ee7ef1b73049a4a7
PiperOrigin-RevId: 201002604
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/analysis/RunfilesTest.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/RunfilesTest.java b/src/test/java/com/google/devtools/build/lib/analysis/RunfilesTest.java index 6e2e3a1850..54d215a31f 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/RunfilesTest.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/RunfilesTest.java @@ -432,4 +432,24 @@ public class RunfilesTest extends FoundationTestCase { assertThat(runfilesMerged.getExtraMiddlemen()) .containsExactlyElementsIn(ImmutableList.of(mm1, mm2)); } + + @Test + public void testGetEmptyFilenames() { + ArtifactRoot root = ArtifactRoot.asSourceRoot(Root.fromPath(scratch.resolve("/workspace"))); + Artifact artifact = new Artifact(PathFragment.create("my-artifact"), root); + Runfiles runfiles = + new Runfiles.Builder("TESTING") + .addArtifact(artifact) + .addSymlink(PathFragment.create("my-symlink"), artifact) + .addRootSymlink(PathFragment.create("my-root-symlink"), artifact) + .setEmptyFilesSupplier( + (manifestPaths) -> + manifestPaths + .stream() + .map((f) -> f.replaceName(f.getBaseName() + "-empty")) + .collect(ImmutableList.toImmutableList())) + .build(); + assertThat(runfiles.getEmptyFilenames()) + .containsExactly("my-artifact-empty", "my-symlink-empty"); + } } |