aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/analysis
diff options
context:
space:
mode:
authorGravatar lberki <lberki@google.com>2017-11-14 01:28:25 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2017-11-14 01:29:55 -0800
commit4260c30a03a9b83d48a5e8690aca19cd80be4c38 (patch)
tree3f0f94b2e277cb9fccb561270e43bd7aec1d4785 /src/test/java/com/google/devtools/build/lib/analysis
parentb064d536b7f4b2593406eadc051a0da13d398a43 (diff)
Automated rollback of commit 10b0d8aa6b73a024cc007c5e075cb329add878ef.
*** Reason for rollback *** Breaks Google-internal targets, sadly. *** Original change description *** Ban middlemen from runfiles artifacts. Previous changes have removed all middlemen from runfiles artifacts. This CL locks it down and removes various now-redundant *WithoutMiddlemen() methods from Runfiles. I put a check for middlemen in ConflictChecker.put, which should be a chokepoint for runfiles artifacts. It's unfortunate we can't detect middlemen earlier than execution, but I can't see a way to efficiently check every runfiles artifact earlier. Cha... *** RELNOTES: None. PiperOrigin-RevId: 175650018
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/analysis')
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/RunfilesSupplierImplTest.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/RunfilesSupplierImplTest.java b/src/test/java/com/google/devtools/build/lib/analysis/RunfilesSupplierImplTest.java
index ec6852eacc..e54ddc3e25 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/RunfilesSupplierImplTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/RunfilesSupplierImplTest.java
@@ -17,6 +17,7 @@ package com.google.devtools.build.lib.analysis;
import static com.google.common.truth.Truth.assertThat;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Iterables;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.Root;
import com.google.devtools.build.lib.actions.RunfilesSupplier;
@@ -57,6 +58,18 @@ public class RunfilesSupplierImplTest {
}
@Test
+ public void testGetArtifactsFilterMiddlemen() {
+ List<Artifact> artifacts = mkArtifacts(rootDir, "thing1", "thing2");
+ Artifact middleman = new Artifact(PathFragment.create("middleman"), middlemanRoot);
+ Runfiles runfiles = mkRunfiles(Iterables.concat(artifacts, ImmutableList.of(middleman)));
+
+ RunfilesSupplier underTest =
+ new RunfilesSupplierImpl(PathFragment.create("notimportant"), runfiles);
+
+ assertThat(underTest.getArtifacts()).containsExactlyElementsIn(artifacts);
+ }
+
+ @Test
public void testGetManifestsWhenNone() {
RunfilesSupplier underTest =
new RunfilesSupplierImpl(PathFragment.create("ignored"), Runfiles.EMPTY, null);