aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools
diff options
context:
space:
mode:
authorGravatar tomlu <tomlu@google.com>2018-01-15 17:40:35 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-01-15 17:42:23 -0800
commit89eaee567429b559ca9983fff146ae60477688ad (patch)
tree9364b8881e424d61c585a950b299b60b3b7c19ec /src/test/java/com/google/devtools
parent15b532652e446472d6a61af1ba73c8aca170500d (diff)
Remove use of Root#asDerivedRoot where the derived root == exec root.
This method violates the invariant that derived roots are never equal to the exec root. Only source roots can be equal to the exec root. Note that this method was only used in tests, so this CL should be completely safe as long as its tests pass. PiperOrigin-RevId: 181998483
Diffstat (limited to 'src/test/java/com/google/devtools')
-rw-r--r--src/test/java/com/google/devtools/build/lib/actions/ArtifactTest.java39
-rw-r--r--src/test/java/com/google/devtools/build/lib/actions/CompositeRunfilesSupplierTest.java5
-rw-r--r--src/test/java/com/google/devtools/build/lib/actions/CustomCommandLineTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/actions/ExecutableSymlinkActionTest.java5
-rw-r--r--src/test/java/com/google/devtools/build/lib/actions/MapBasedActionGraphTest.java11
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/RunfilesSupplierImplTest.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelperTest.java5
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java12
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactActionTest.java41
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplateTest.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/remote/TreeNodeRepositoryTest.java10
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/android/ResourceTestBase.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CompileCommandLineTest.java10
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java9
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/objc/J2ObjcSourceTest.java4
15 files changed, 99 insertions, 64 deletions
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 7c92958d40..dda385f813 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
@@ -47,7 +47,7 @@ public class ArtifactTest {
public final void setRootDir() throws Exception {
scratch = new Scratch();
execDir = scratch.dir("/exec");
- rootDir = Root.asDerivedRoot(scratch.dir("/exec/root"));
+ rootDir = Root.asDerivedRoot(execDir, scratch.dir("/exec/root"));
}
@Test
@@ -55,7 +55,7 @@ public class ArtifactTest {
Path f1 = scratch.file("/exec/dir/file.ext");
Path bogusDir = scratch.file("/exec/dir/bogus");
try {
- new Artifact(f1, Root.asDerivedRoot(bogusDir), f1.relativeTo(execDir));
+ new Artifact(f1, Root.asDerivedRoot(execDir, bogusDir), f1.relativeTo(execDir));
fail("Expected IllegalArgumentException constructing artifact with a bad root dir");
} catch (IllegalArgumentException expected) {}
}
@@ -97,7 +97,7 @@ public class ArtifactTest {
@Test
public void testRootPrefixedExecPath_noRoot() throws IOException {
Path f1 = scratch.file("/exec/dir/file.ext");
- Artifact a1 = new Artifact(f1.relativeTo(execDir), Root.asDerivedRoot(execDir));
+ Artifact a1 = new Artifact(f1.relativeTo(execDir), Root.asSourceRoot(execDir));
assertThat(Artifact.asRootPrefixedExecPath(a1)).isEqualTo(":dir/file.ext");
}
@@ -277,15 +277,22 @@ public class ArtifactTest {
@Test
public void testToDetailString() throws Exception {
- Artifact a = new Artifact(scratch.file("/a/b/c"), Root.asDerivedRoot(scratch.dir("/a/b")),
- PathFragment.create("b/c"));
+ Path execRoot = scratch.getFileSystem().getPath("/");
+ Artifact a =
+ new Artifact(
+ scratch.file("/a/b/c"),
+ Root.asDerivedRoot(execRoot, scratch.dir("/a/b")),
+ PathFragment.create("b/c"));
assertThat(a.toDetailString()).isEqualTo("[[/a]b]c");
}
@Test
public void testWeirdArtifact() throws Exception {
try {
- new Artifact(scratch.file("/a/b/c"), Root.asDerivedRoot(scratch.dir("/a")),
+ Path execRoot = scratch.getFileSystem().getPath("/");
+ new Artifact(
+ scratch.file("/a/b/c"),
+ Root.asDerivedRoot(execRoot, scratch.dir("/a")),
PathFragment.create("c"));
fail();
} catch (IllegalArgumentException e) {
@@ -296,16 +303,18 @@ public class ArtifactTest {
@Test
public void testSerializeToString() throws Exception {
+ Path execRoot = scratch.getFileSystem().getPath("/");
assertThat(
- new Artifact(scratch.file("/a/b/c"), Root.asDerivedRoot(scratch.dir("/a")))
+ new Artifact(scratch.file("/a/b/c"), Root.asDerivedRoot(execRoot, scratch.dir("/a")))
.serializeToString())
- .isEqualTo("b/c /3");
+ .isEqualTo("a/b/c /3");
}
@Test
public void testSerializeToStringWithExecPath() throws Exception {
+ Path execRoot = scratch.getFileSystem().getPath("/");
Path path = scratch.file("/aaa/bbb/ccc");
- Root root = Root.asDerivedRoot(scratch.dir("/aaa/bbb"));
+ Root root = Root.asDerivedRoot(execRoot, scratch.dir("/aaa/bbb"));
PathFragment execPath = PathFragment.create("bbb/ccc");
assertThat(new Artifact(path, root, execPath).serializeToString()).isEqualTo("bbb/ccc /3");
@@ -313,10 +322,11 @@ public class ArtifactTest {
@Test
public void testSerializeToStringWithOwner() throws Exception {
+ Path execRoot = scratch.getFileSystem().getPath("/");
assertThat(
new Artifact(
scratch.file("/aa/b/c"),
- Root.asDerivedRoot(scratch.dir("/aa")),
+ Root.asDerivedRoot(execRoot, scratch.dir("/aa")),
PathFragment.create("b/c"),
new LabelArtifactOwner(Label.parseAbsoluteUnchecked("//foo:bar")))
.serializeToString())
@@ -332,8 +342,8 @@ public class ArtifactTest {
@Test
public void testDirnameInExecutionDir() throws Exception {
- Artifact artifact = new Artifact(scratch.file("/foo/bar.txt"),
- Root.asDerivedRoot(scratch.dir("/foo")));
+ Artifact artifact =
+ new Artifact(scratch.file("/foo/bar.txt"), Root.asSourceRoot(scratch.dir("/foo")));
assertThat(artifact.getDirname()).isEqualTo(".");
}
@@ -364,11 +374,12 @@ public class ArtifactTest {
@Test
public void testGetRoot() throws Exception {
- Root root = Root.asDerivedRoot(scratch.dir("/newRoot"));
+ Path execRoot = scratch.getFileSystem().getPath("/");
+ Root root = Root.asDerivedRoot(execRoot, scratch.dir("/newRoot"));
assertThat(new Artifact(scratch.file("/newRoot/foo"), root).getRoot()).isEqualTo(root);
}
private Artifact createDirNameArtifact() throws Exception {
- return new Artifact(scratch.file("/aaa/bbb/ccc/ddd"), Root.asDerivedRoot(scratch.dir("/")));
+ return new Artifact(scratch.file("/aaa/bbb/ccc/ddd"), Root.asSourceRoot(scratch.dir("/")));
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/actions/CompositeRunfilesSupplierTest.java b/src/test/java/com/google/devtools/build/lib/actions/CompositeRunfilesSupplierTest.java
index 4366b17833..e799800806 100644
--- a/src/test/java/com/google/devtools/build/lib/actions/CompositeRunfilesSupplierTest.java
+++ b/src/test/java/com/google/devtools/build/lib/actions/CompositeRunfilesSupplierTest.java
@@ -22,6 +22,7 @@ import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.devtools.build.lib.testutil.Scratch;
+import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.lib.vfs.PathFragment;
import java.io.IOException;
import java.util.List;
@@ -38,12 +39,14 @@ public class CompositeRunfilesSupplierTest {
private RunfilesSupplier mockFirst;
private RunfilesSupplier mockSecond;
+ private Path execRoot;
private Root rootDir;
@Before
public final void createMocks() throws IOException {
Scratch scratch = new Scratch();
- rootDir = Root.asDerivedRoot(scratch.dir("/fake/root/dont/matter"));
+ execRoot = scratch.getFileSystem().getPath("/");
+ rootDir = Root.asDerivedRoot(execRoot, scratch.dir("/fake/root/dont/matter"));
mockFirst = mock(RunfilesSupplier.class);
mockSecond = mock(RunfilesSupplier.class);
diff --git a/src/test/java/com/google/devtools/build/lib/actions/CustomCommandLineTest.java b/src/test/java/com/google/devtools/build/lib/actions/CustomCommandLineTest.java
index 856158a601..a907739d98 100644
--- a/src/test/java/com/google/devtools/build/lib/actions/CustomCommandLineTest.java
+++ b/src/test/java/com/google/devtools/build/lib/actions/CustomCommandLineTest.java
@@ -51,7 +51,7 @@ public class CustomCommandLineTest {
@Before
public void createArtifacts() throws Exception {
scratch = new Scratch();
- rootDir = Root.asDerivedRoot(scratch.dir("/exec/root"));
+ rootDir = Root.asSourceRoot(scratch.dir("/exec/root"));
artifact1 = new Artifact(scratch.file("/exec/root/dir/file1.txt"), rootDir);
artifact2 = new Artifact(scratch.file("/exec/root/dir/file2.txt"), rootDir);
}
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 f6f9a5233e..391ccf5441 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
@@ -44,8 +44,9 @@ public class ExecutableSymlinkActionTest {
@Before
public final void createExecutor() throws Exception {
final Path inputDir = scratch.dir("/in");
- inputRoot = Root.asDerivedRoot(inputDir);
- outputRoot = Root.asDerivedRoot(scratch.dir("/out"));
+ Path execRoot = scratch.getFileSystem().getPath("/");
+ inputRoot = Root.asDerivedRoot(execRoot, inputDir);
+ outputRoot = Root.asDerivedRoot(execRoot, scratch.dir("/out"));
outErr = new TestFileOutErr();
executor = new DummyExecutor(scratch.getFileSystem(), inputDir);
}
diff --git a/src/test/java/com/google/devtools/build/lib/actions/MapBasedActionGraphTest.java b/src/test/java/com/google/devtools/build/lib/actions/MapBasedActionGraphTest.java
index ab0cc4a324..7d4a75201e 100644
--- a/src/test/java/com/google/devtools/build/lib/actions/MapBasedActionGraphTest.java
+++ b/src/test/java/com/google/devtools/build/lib/actions/MapBasedActionGraphTest.java
@@ -42,15 +42,16 @@ public class MapBasedActionGraphTest {
@Test
public void testSmoke() throws Exception {
MutableActionGraph actionGraph = new MapBasedActionGraph(actionKeyContext);
+ Path execRoot = fileSystem.getPath("/");
Path root = fileSystem.getPath("/root");
Path path = root.getRelative("foo");
- Artifact output = new Artifact(path, Root.asDerivedRoot(root));
+ Artifact output = new Artifact(path, Root.asDerivedRoot(execRoot, root));
Action action = new TestAction(TestAction.NO_EFFECT,
ImmutableSet.<Artifact>of(), ImmutableSet.of(output));
actionGraph.registerAction(action);
actionGraph.unregisterAction(action);
path = root.getRelative("bar");
- output = new Artifact(path, Root.asDerivedRoot(root));
+ output = new Artifact(path, Root.asDerivedRoot(execRoot, root));
Action action2 = new TestAction(TestAction.NO_EFFECT,
ImmutableSet.<Artifact>of(), ImmutableSet.of(output));
actionGraph.registerAction(action);
@@ -61,9 +62,10 @@ public class MapBasedActionGraphTest {
@Test
public void testNoActionConflictWhenUnregisteringSharedAction() throws Exception {
MutableActionGraph actionGraph = new MapBasedActionGraph(actionKeyContext);
+ Path execRoot = fileSystem.getPath("/");
Path root = fileSystem.getPath("/root");
Path path = root.getRelative("/root/foo");
- Artifact output = new Artifact(path, Root.asDerivedRoot(root));
+ Artifact output = new Artifact(path, Root.asDerivedRoot(execRoot, root));
Action action = new TestAction(TestAction.NO_EFFECT,
ImmutableSet.<Artifact>of(), ImmutableSet.of(output));
actionGraph.registerAction(action);
@@ -89,9 +91,10 @@ public class MapBasedActionGraphTest {
"action-graph-test",
AbstractQueueVisitor.EXECUTOR_FACTORY,
ErrorClassifier.DEFAULT);
+ Path execRoot = fileSystem.getPath("/");
Path root = fileSystem.getPath("/root");
Path path = root.getRelative("foo");
- output = new Artifact(path, Root.asDerivedRoot(root));
+ output = new Artifact(path, Root.asDerivedRoot(execRoot, root));
allActions.add(new TestAction(
TestAction.NO_EFFECT, ImmutableSet.<Artifact>of(), ImmutableSet.of(output)));
}
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 e54ddc3e25..3967b0e368 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
@@ -35,13 +35,15 @@ import org.junit.runners.JUnit4;
@RunWith(JUnit4.class)
public class RunfilesSupplierImplTest {
+ private Path execRoot;
private Root rootDir;
private Root middlemanRoot;
@Before
public final void setRoot() throws IOException {
Scratch scratch = new Scratch();
- rootDir = Root.asDerivedRoot(scratch.dir("/fake/root/dont/matter"));
+ execRoot = scratch.getFileSystem().getPath("/");
+ rootDir = Root.asDerivedRoot(execRoot, scratch.dir("/fake/root/dont/matter"));
Path middlemanExecPath = scratch.dir("/still/fake/root/dont/matter");
middlemanRoot = Root.middlemanRoot(middlemanExecPath, middlemanExecPath.getChild("subdir"));
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelperTest.java b/src/test/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelperTest.java
index 2d0107b951..9609bedc0c 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelperTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelperTest.java
@@ -51,8 +51,9 @@ public class TopLevelArtifactHelperTest {
@Before
public final void setRootDir() throws Exception {
Scratch scratch = new Scratch();
- path = scratch.dir("/foo");
- root = Root.asDerivedRoot(scratch.dir("/"));
+ Path execRoot = scratch.getFileSystem().getPath("/");
+ root = Root.asDerivedRoot(execRoot, scratch.dir("/blaze-out"));
+ path = scratch.dir("/blaze-out/foo");
}
private void setup(Iterable<Pair<String, Integer>> groupArtifacts) {
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java
index 63397f9a7b..1a541ff1f6 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java
@@ -37,6 +37,7 @@ import com.google.devtools.build.lib.analysis.util.BuildViewTestCase;
import com.google.devtools.build.lib.exec.util.TestExecutorBuilder;
import com.google.devtools.build.lib.util.io.FileOutErr;
import com.google.devtools.build.lib.vfs.FileSystemUtils;
+import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.lib.vfs.PathFragment;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
@@ -55,7 +56,8 @@ public class ParamFileWriteActionTest extends BuildViewTestCase {
@Before
public void createArtifacts() throws Exception {
- rootDir = Root.asDerivedRoot(scratch.dir("/exec/root"));
+ Path execRoot = scratch.getFileSystem().getPath("/exec");
+ rootDir = Root.asDerivedRoot(execRoot, scratch.dir("/exec/out"));
outputArtifact = getBinArtifactWithNoOwner("destination.txt");
FileSystemUtils.createDirectoryAndParents(outputArtifact.getPath().getParentDirectory());
treeArtifact = createTreeArtifact("artifact/myTreeFileArtifact");
@@ -75,8 +77,8 @@ public class ParamFileWriteActionTest extends BuildViewTestCase {
Action action = createParameterFileWriteAction(
ImmutableList.of(treeArtifact),
createTreeArtifactExpansionCommandLine());
- assertThat(Artifact.toExecPaths(action.getInputs())).containsExactly(
- "artifact/myTreeFileArtifact");
+ assertThat(Artifact.toExecPaths(action.getInputs()))
+ .containsExactly("out/artifact/myTreeFileArtifact");
}
@Test
@@ -102,8 +104,8 @@ public class ParamFileWriteActionTest extends BuildViewTestCase {
assertThat(content.trim())
.isEqualTo(
"--flag1\n"
- + "artifact/myTreeFileArtifact/artifacts/treeFileArtifact1\n"
- + "artifact/myTreeFileArtifact/artifacts/treeFileArtifact2");
+ + "out/artifact/myTreeFileArtifact/artifacts/treeFileArtifact1\n"
+ + "out/artifact/myTreeFileArtifact/artifacts/treeFileArtifact2");
}
private Artifact createTreeArtifact(String rootRelativePath) {
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactActionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactActionTest.java
index 5465e02376..96f5afe8f7 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactActionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactActionTest.java
@@ -46,6 +46,7 @@ import com.google.devtools.build.lib.analysis.util.ActionTester.ActionCombinatio
import com.google.devtools.build.lib.analysis.util.BuildViewTestCase;
import com.google.devtools.build.lib.exec.util.TestExecutorBuilder;
import com.google.devtools.build.lib.vfs.FileStatus;
+import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.lib.vfs.PathFragment;
import java.util.ArrayList;
import java.util.List;
@@ -109,13 +110,15 @@ public class PopulateTreeArtifactActionTest extends BuildViewTestCase {
@Before
public void setRootDir() throws Exception {
- root = Root.asDerivedRoot(scratch.dir("/exec/root"));
+ Path execRoot = scratch.getFileSystem().getPath("/exec");
+ root = Root.asDerivedRoot(execRoot, scratch.dir("/exec/out"));
}
@Test
public void testActionOutputs() throws Exception {
Action action = createPopulateTreeArtifactAction();
- assertThat(Artifact.toExecPaths(action.getOutputs())).containsExactly("test/archive_member");
+ assertThat(Artifact.toExecPaths(action.getOutputs()))
+ .containsExactly("out/test/archive_member");
}
@Test
@@ -132,10 +135,11 @@ public class PopulateTreeArtifactActionTest extends BuildViewTestCase {
PopulateTreeArtifactAction action = createPopulateTreeArtifactAction();
Spawn spawn = action.createSpawn();
Iterable<Artifact> outputs = actionInputsToArtifacts(spawn.getOutputFiles());
- assertThat(Artifact.toExecPaths(outputs)).containsExactly(
- "test/archive_member/archive_members/1.class",
- "test/archive_member/archive_members/2.class",
- "test/archive_member/archive_members/txt/text.txt");
+ assertThat(Artifact.toExecPaths(outputs))
+ .containsExactly(
+ "out/test/archive_member/archive_members/1.class",
+ "out/test/archive_member/archive_members/2.class",
+ "out/test/archive_member/archive_members/txt/text.txt");
}
@Test
@@ -153,13 +157,15 @@ public class PopulateTreeArtifactActionTest extends BuildViewTestCase {
public void testSpawnArguments() throws Exception {
PopulateTreeArtifactAction action = createPopulateTreeArtifactAction();
BaseSpawn spawn = (BaseSpawn) action.createSpawn();
- assertThat(spawn.getArguments()).containsExactly(
- "unzipBinary",
- "x",
- "myArchive.zip",
- "-d",
- "test/archive_member",
- "@archiveManifest.txt").inOrder();
+ assertThat(spawn.getArguments())
+ .containsExactly(
+ "unzipBinary",
+ "x",
+ "myArchive.zip",
+ "-d",
+ "out/test/archive_member",
+ "@archiveManifest.txt")
+ .inOrder();
}
@Test
@@ -171,10 +177,11 @@ public class PopulateTreeArtifactActionTest extends BuildViewTestCase {
assertThat(actionResult.spawnResults()).isEmpty();
- assertThat(Artifact.toExecPaths(treefileArtifacts)).containsExactly(
- "test/archive_member/archive_members/1.class",
- "test/archive_member/archive_members/2.class",
- "test/archive_member/archive_members/txt/text.txt");
+ assertThat(Artifact.toExecPaths(treefileArtifacts))
+ .containsExactly(
+ "out/test/archive_member/archive_members/1.class",
+ "out/test/archive_member/archive_members/2.class",
+ "out/test/archive_member/archive_members/txt/text.txt");
}
@Test
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplateTest.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplateTest.java
index 09c6b0d701..b325e3bb32 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplateTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplateTest.java
@@ -28,6 +28,7 @@ import com.google.devtools.build.lib.actions.Root;
import com.google.devtools.build.lib.actions.util.ActionsTestUtil;
import com.google.devtools.build.lib.analysis.actions.SpawnActionTemplate.OutputPathMapper;
import com.google.devtools.build.lib.testutil.Scratch;
+import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.lib.vfs.PathFragment;
import java.util.List;
import org.junit.Before;
@@ -52,7 +53,8 @@ public class SpawnActionTemplateTest {
@Before
public void setRootDir() throws Exception {
Scratch scratch = new Scratch();
- root = Root.asDerivedRoot(scratch.dir("/exec/root"));
+ Path execRoot = scratch.getFileSystem().getPath("/");
+ root = Root.asDerivedRoot(execRoot, scratch.dir("/exec/root"));
}
@Test
diff --git a/src/test/java/com/google/devtools/build/lib/remote/TreeNodeRepositoryTest.java b/src/test/java/com/google/devtools/build/lib/remote/TreeNodeRepositoryTest.java
index 4f097bfdb8..8c4f35e28d 100644
--- a/src/test/java/com/google/devtools/build/lib/remote/TreeNodeRepositoryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/remote/TreeNodeRepositoryTest.java
@@ -45,21 +45,21 @@ import org.junit.runners.JUnit4;
public class TreeNodeRepositoryTest {
private Scratch scratch;
private DigestUtil digestUtil;
+ private Path execRoot;
private Root rootDir;
- private Path rootPath;
@Before
public final void setRootDir() throws Exception {
digestUtil = new DigestUtil(HashFunction.SHA256);
scratch = new Scratch(new InMemoryFileSystem(BlazeClock.instance(), HashFunction.SHA256));
- rootDir = Root.asDerivedRoot(scratch.dir("/exec/root"));
- rootPath = rootDir.getPath();
+ execRoot = scratch.getFileSystem().getPath("/exec/root");
+ rootDir = Root.asSourceRoot(scratch.dir("/exec/root"));
}
private TreeNodeRepository createTestTreeNodeRepository() {
ActionInputFileCache inputFileCache =
- new SingleBuildFileCache(rootPath.getPathString(), scratch.getFileSystem());
- return new TreeNodeRepository(rootPath, inputFileCache, digestUtil);
+ new SingleBuildFileCache(execRoot.getPathString(), scratch.getFileSystem());
+ return new TreeNodeRepository(execRoot, inputFileCache, digestUtil);
}
private TreeNode buildFromActionInputs(TreeNodeRepository repo, ActionInput... inputs)
diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/ResourceTestBase.java b/src/test/java/com/google/devtools/build/lib/rules/android/ResourceTestBase.java
index c15216a28a..f86a5745d8 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/android/ResourceTestBase.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/android/ResourceTestBase.java
@@ -162,7 +162,7 @@ public abstract class ResourceTestBase {
public void setup() {
errorConsumer = new FakeRuleErrorConsumer();
fileSystem = new InMemoryFileSystem();
- root = Root.asDerivedRoot(fileSystem.getRootDirectory());
+ root = Root.asSourceRoot(fileSystem.getRootDirectory());
}
@After
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CompileCommandLineTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CompileCommandLineTest.java
index b442c4db50..99aa8a7d7c 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CompileCommandLineTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CompileCommandLineTest.java
@@ -23,6 +23,7 @@ import com.google.devtools.build.lib.analysis.util.BuildViewTestCase;
import com.google.devtools.build.lib.rules.cpp.CcToolchainFeatures.FeatureConfiguration;
import com.google.devtools.build.lib.rules.cpp.CompileCommandLine.Builder;
import com.google.devtools.build.lib.rules.cpp.CppCompileAction.DotdFile;
+import com.google.devtools.build.lib.vfs.Path;
import java.io.IOException;
import java.util.List;
import org.junit.Test;
@@ -39,12 +40,11 @@ import org.junit.runners.JUnit4;
public class CompileCommandLineTest extends BuildViewTestCase {
private Artifact scratchArtifact(String s) {
+ Path execRoot = outputBase.getRelative("exec");
+ Path outputRoot = execRoot.getRelative("root");
+ Root root = Root.asDerivedRoot(execRoot, outputRoot);
try {
- return new Artifact(
- scratch.overwriteFile(
- outputBase.getRelative("compile_command_line").getRelative(s).toString()),
- Root.asDerivedRoot(
- scratch.dir(outputBase.getRelative("compile_command_line").toString())));
+ return new Artifact(scratch.overwriteFile(outputRoot.getRelative(s).toString()), root);
} catch (IOException e) {
throw new RuntimeException(e);
}
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java
index 71fd9694a5..6107747ffe 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java
@@ -531,10 +531,11 @@ public class CppLinkActionTest extends BuildViewTestCase {
}
private Artifact scratchArtifact(String s) {
+ Path execRoot = outputBase.getRelative("exec");
+ Path outputRoot = execRoot.getRelative("out");
+ Root root = Root.asDerivedRoot(execRoot, outputRoot);
try {
- return new Artifact(
- scratch.overwriteFile(outputBase.getRelative("WORKSPACE").getRelative(s).toString()),
- Root.asDerivedRoot(scratch.dir(outputBase.getRelative("WORKSPACE").toString())));
+ return new Artifact(scratch.overwriteFile(outputRoot.getRelative(s).toString()), root);
} catch (IOException e) {
throw new RuntimeException(e);
}
@@ -618,7 +619,7 @@ public class CppLinkActionTest extends BuildViewTestCase {
assertThat(commandLine.get(1)).isEqualTo("yes");
assertThat(commandLine.get(2)).endsWith("tools/cpp/build_interface_so");
assertThat(commandLine.get(3)).endsWith("foo.so");
- assertThat(commandLine.get(4)).isEqualTo("FakeInterfaceOutput.ifso");
+ assertThat(commandLine.get(4)).isEqualTo("out/FakeInterfaceOutput.ifso");
assertThat(commandLine.get(5)).isEqualTo("dynamic_library_linker_tool");
}
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/J2ObjcSourceTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/J2ObjcSourceTest.java
index 3e413f5c6b..043476ed4a 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/J2ObjcSourceTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/J2ObjcSourceTest.java
@@ -20,6 +20,7 @@ import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.Root;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.testutil.Scratch;
+import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.lib.vfs.PathFragment;
import org.junit.Before;
import org.junit.Test;
@@ -36,7 +37,8 @@ public class J2ObjcSourceTest {
@Before
public final void setRootDir() throws Exception {
Scratch scratch = new Scratch();
- rootDir = Root.asDerivedRoot(scratch.dir("/exec/root"));
+ Path execRoot = scratch.getFileSystem().getPath("/exec");
+ rootDir = Root.asDerivedRoot(execRoot, scratch.dir("/exec/root"));
}
@Test