aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/google/devtools')
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/RunfilesTest.java45
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java3
-rw-r--r--src/test/java/com/google/devtools/build/lib/bazel/rules/android/AndroidSdkRepositoryTest.java6
-rw-r--r--src/test/java/com/google/devtools/build/lib/buildtool/SymlinkForestTest.java66
-rw-r--r--src/test/java/com/google/devtools/build/lib/cmdline/LabelTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/cmdline/PackageIdentifierTest.java13
-rw-r--r--src/test/java/com/google/devtools/build/lib/cmdline/RepositoryNameTest.java8
-rw-r--r--src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java8
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoLibraryTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilderTest.java17
-rw-r--r--src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/testutil/TestConstants.java2
14 files changed, 102 insertions, 78 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 f6d1509bb1..2c18fd38a1 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
@@ -21,15 +21,12 @@ import com.google.common.collect.Iterables;
import com.google.common.collect.Maps;
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.events.EventKind;
import com.google.devtools.build.lib.testutil.FoundationTestCase;
import com.google.devtools.build.lib.vfs.PathFragment;
-
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
-
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
@@ -321,37 +318,36 @@ public class RunfilesTest extends FoundationTestCase {
@Test
public void testLegacyRunfilesStructure() {
- Root root = Root.asSourceRoot(scratch.resolve("/workspace"));
+ Root root = Root.asSourceRoot(scratch.resolve("/workspace/external/repo"));
PathFragment workspaceName = new PathFragment("wsname");
- PathFragment pathB = new PathFragment("external/repo/b");
+ PathFragment pathB = new PathFragment("b");
Artifact artifactB = new Artifact(pathB, root);
Runfiles.ManifestBuilder builder = new Runfiles.ManifestBuilder(workspaceName, true);
Map<PathFragment, Artifact> inputManifest = Maps.newHashMap();
- inputManifest.put(pathB, artifactB);
+ inputManifest.put(new PathFragment("../repo").getRelative(pathB), artifactB);
Runfiles.ConflictChecker checker = new Runfiles.ConflictChecker(
Runfiles.ConflictPolicy.WARN, reporter, null);
builder.addUnderWorkspace(inputManifest, checker);
assertThat(builder.build().entrySet()).containsExactly(
- Maps.immutableEntry(workspaceName.getRelative(pathB), artifactB),
+ Maps.immutableEntry(workspaceName.getRelative("external/repo/b"), artifactB),
Maps.immutableEntry(new PathFragment("repo/b"), artifactB));
assertNoEvents();
}
@Test
public void testRunfileAdded() {
- Root root = Root.asSourceRoot(scratch.resolve("/workspace"));
+ Root root = Root.asSourceRoot(scratch.resolve("/workspace/external/repo"));
PathFragment workspaceName = new PathFragment("wsname");
- PathFragment pathB = new PathFragment("external/repo/b");
+ PathFragment pathB = new PathFragment("b");
Artifact artifactB = new Artifact(pathB, root);
Runfiles.ManifestBuilder builder = new Runfiles.ManifestBuilder(workspaceName, false);
- Map<PathFragment, Artifact> inputManifest = ImmutableMap.<PathFragment, Artifact>builder()
- .put(pathB, artifactB)
- .build();
+ Map<PathFragment, Artifact> inputManifest = ImmutableMap.of(
+ new PathFragment("../repo").getRelative(pathB), artifactB);
Runfiles.ConflictChecker checker = new Runfiles.ConflictChecker(
Runfiles.ConflictPolicy.WARN, reporter, null);
builder.addUnderWorkspace(inputManifest, checker);
@@ -362,31 +358,6 @@ public class RunfilesTest extends FoundationTestCase {
assertNoEvents();
}
- // TODO(kchodorow): remove this once the default workspace name is always set.
- @Test
- public void testConflictWithExternal() {
- Root root = Root.asSourceRoot(scratch.resolve("/workspace"));
- PathFragment pathB = new PathFragment("repo/b");
- PathFragment externalPathB = Label.EXTERNAL_PACKAGE_NAME.getRelative(pathB);
- Artifact artifactB = new Artifact(pathB, root);
- Artifact artifactExternalB = new Artifact(externalPathB, root);
-
- Runfiles.ManifestBuilder builder = new Runfiles.ManifestBuilder(
- PathFragment.EMPTY_FRAGMENT, false);
-
- Map<PathFragment, Artifact> inputManifest = ImmutableMap.<PathFragment, Artifact>builder()
- .put(pathB, artifactB)
- .put(externalPathB, artifactExternalB)
- .build();
- Runfiles.ConflictChecker checker = new Runfiles.ConflictChecker(
- Runfiles.ConflictPolicy.WARN, reporter, null);
- builder.addUnderWorkspace(inputManifest, checker);
-
- assertThat(builder.build().entrySet()).containsExactly(
- Maps.immutableEntry(new PathFragment("repo/b"), artifactExternalB));
- checkConflictWarning();
- }
-
@Test
public void testMergeWithSymlinks() {
Root root = Root.asSourceRoot(scratch.resolve("/workspace"));
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
index 03128110d4..cecd220d9d 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
@@ -38,6 +38,7 @@ import com.google.devtools.build.lib.analysis.config.ConfigurationFactory;
import com.google.devtools.build.lib.buildtool.BuildRequest.BuildRequestOptions;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.cmdline.LabelSyntaxException;
+import com.google.devtools.build.lib.cmdline.PackageIdentifier;
import com.google.devtools.build.lib.exec.ExecutionOptions;
import com.google.devtools.build.lib.flags.InvocationPolicyEnforcer;
import com.google.devtools.build.lib.packages.PackageFactory;
@@ -198,6 +199,8 @@ public abstract class AnalysisTestCase extends FoundationTestCase {
loadingPhaseRunner = skyframeExecutor.getLoadingPhaseRunner(
pkgFactory.getRuleClassNames(), defaultFlags().contains(Flag.SKYFRAME_LOADING_PHASE));
buildView = new BuildView(directories, ruleClassProvider, skyframeExecutor, null);
+ buildView.setArtifactRoots(
+ ImmutableMap.of(PackageIdentifier.createInMainRepo(""), rootDirectory));
useConfiguration();
}
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/rules/android/AndroidSdkRepositoryTest.java b/src/test/java/com/google/devtools/build/lib/bazel/rules/android/AndroidSdkRepositoryTest.java
index 0f33d2dd2f..dc2411874a 100644
--- a/src/test/java/com/google/devtools/build/lib/bazel/rules/android/AndroidSdkRepositoryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/bazel/rules/android/AndroidSdkRepositoryTest.java
@@ -111,9 +111,9 @@ public class AndroidSdkRepositoryTest extends BuildViewTestCase {
androidDevicesFilegroupTarget.getProvider(FilesToRunProvider.class).getFilesToRun();
assertThat(artifactsToStrings(systemImagesDirectories))
.containsExactly(
- "src external/androidsdk/system-images/android-25/default/armeabi-v7a",
- "src external/androidsdk/system-images/android-24/google_apis/x86",
- "src external/androidsdk/system-images/android-24/google_apis/x86_64");
+ "src system-images/android-25/default/armeabi-v7a",
+ "src system-images/android-24/google_apis/x86",
+ "src system-images/android-24/google_apis/x86_64");
}
@Test
diff --git a/src/test/java/com/google/devtools/build/lib/buildtool/SymlinkForestTest.java b/src/test/java/com/google/devtools/build/lib/buildtool/SymlinkForestTest.java
index d86d2be261..5e0cda6d61 100644
--- a/src/test/java/com/google/devtools/build/lib/buildtool/SymlinkForestTest.java
+++ b/src/test/java/com/google/devtools/build/lib/buildtool/SymlinkForestTest.java
@@ -27,7 +27,6 @@ import com.google.devtools.build.lib.cmdline.LabelSyntaxException;
import com.google.devtools.build.lib.cmdline.PackageIdentifier;
import com.google.devtools.build.lib.cmdline.RepositoryName;
import com.google.devtools.build.lib.testutil.ManualClock;
-import com.google.devtools.build.lib.testutil.TestConstants;
import com.google.devtools.build.lib.vfs.FileSystem;
import com.google.devtools.build.lib.vfs.FileSystemUtils;
import com.google.devtools.build.lib.vfs.Path;
@@ -125,7 +124,12 @@ public class SymlinkForestTest {
@Test
public void testDeleteTreesBelowNotPrefixed() throws IOException {
createTestDirectoryTree();
- SymlinkForest.deleteTreesBelowNotPrefixed(topDir, new String[]{"file-"});
+ SymlinkForest forest = SymlinkForest.builder()
+ .setWorkspace(topDir)
+ .setProductName("mock-name")
+ .setPrefixes(new String[]{"file-"})
+ .build();
+ forest.deleteTreesBelowNotPrefixed();
assertTrue(file1.exists());
assertTrue(file2.exists());
assertFalse(aDir.exists());
@@ -187,7 +191,13 @@ public class SymlinkForestTest {
Path linkRoot = fileSystem.getPath("/linkRoot");
createDirectoryAndParents(linkRoot);
- new SymlinkForest(packageRootMap, linkRoot, TestConstants.PRODUCT_NAME, "wsname")
+ SymlinkForest.builder()
+ .setLegacyExternalRunfiles(false)
+ .setPackageRoots(packageRootMap)
+ .setWorkspace(linkRoot)
+ .setProductName("mock-name")
+ .setWorkspaceName("wsname")
+ .build()
.plantSymlinkForest();
assertLinksTo(linkRoot, rootA, "pkgA");
@@ -215,7 +225,13 @@ public class SymlinkForestTest {
.put(createPkg(rootX, rootY, "foo"), rootX)
.build();
- new SymlinkForest(packageRootMap, linkRoot, TestConstants.PRODUCT_NAME, "wsname")
+ SymlinkForest.builder()
+ .setLegacyExternalRunfiles(false)
+ .setPackageRoots(packageRootMap)
+ .setWorkspace(linkRoot)
+ .setProductName("mock-name")
+ .setWorkspaceName("wsname")
+ .build()
.plantSymlinkForest();
assertLinksTo(linkRoot, rootX, "file");
}
@@ -223,24 +239,32 @@ public class SymlinkForestTest {
@Test
public void testRemotePackage() throws Exception {
Path outputBase = fileSystem.getPath("/ob");
- Path rootY = outputBase.getRelative(Label.EXTERNAL_PATH_PREFIX).getRelative("y");
- Path rootZ = outputBase.getRelative(Label.EXTERNAL_PATH_PREFIX).getRelative("z");
- Path rootW = outputBase.getRelative(Label.EXTERNAL_PATH_PREFIX).getRelative("w");
+ Path rootY = outputBase.getRelative(Label.EXTERNAL_PACKAGE_NAME).getRelative("y");
+ Path rootZ = outputBase.getRelative(Label.EXTERNAL_PACKAGE_NAME).getRelative("z");
+ Path rootW = outputBase.getRelative(Label.EXTERNAL_PACKAGE_NAME).getRelative("w");
createDirectoryAndParents(rootY);
+ createDirectoryAndParents(rootZ);
+ createDirectoryAndParents(rootW);
FileSystemUtils.createEmptyFile(rootY.getRelative("file"));
ImmutableMap<PackageIdentifier, Path> packageRootMap =
ImmutableMap.<PackageIdentifier, Path>builder()
// Remote repo without top-level package.
- .put(createPkg(outputBase, "y", "w"), outputBase)
+ .put(createPkg(outputBase, "y", "w"), rootY)
// Remote repo with and without top-level package.
- .put(createPkg(outputBase, "z", ""), outputBase)
- .put(createPkg(outputBase, "z", "a/b/c"), outputBase)
+ .put(createPkg(outputBase, "z", ""), rootZ)
+ .put(createPkg(outputBase, "z", "a/b/c"), rootZ)
// Only top-level pkg.
- .put(createPkg(outputBase, "w", ""), outputBase)
+ .put(createPkg(outputBase, "w", ""), rootW)
.build();
- new SymlinkForest(packageRootMap, linkRoot, TestConstants.PRODUCT_NAME, "wsname")
+ SymlinkForest.builder()
+ .setLegacyExternalRunfiles(false)
+ .setPackageRoots(packageRootMap)
+ .setWorkspace(linkRoot)
+ .setProductName("mock-name")
+ .setWorkspaceName("wsname")
+ .build()
.plantSymlinkForest();
assertFalse(linkRoot.getRelative(Label.EXTERNAL_PATH_PREFIX + "/y/file").exists());
assertLinksTo(
@@ -263,9 +287,15 @@ public class SymlinkForestTest {
.put(Label.EXTERNAL_PACKAGE_IDENTIFIER, root)
.build();
- new SymlinkForest(packageRootMap, linkRoot, TestConstants.PRODUCT_NAME, "wsname")
+ SymlinkForest.builder()
+ .setLegacyExternalRunfiles(false)
+ .setPackageRoots(packageRootMap)
+ .setWorkspace(linkRoot)
+ .setProductName("mock-name")
+ .setWorkspaceName("wsname")
+ .build()
.plantSymlinkForest();
- assertThat(linkRoot.getRelative(Label.EXTERNAL_PATH_PREFIX).exists()).isFalse();
+ assertThat(linkRoot.getRelative(Label.EXTERNAL_PACKAGE_NAME).exists()).isFalse();
}
@Test
@@ -277,7 +307,13 @@ public class SymlinkForestTest {
.put(createPkg(root, "y", "w"), root)
.build();
- new SymlinkForest(packageRootMap, linkRoot, TestConstants.PRODUCT_NAME, "wsname")
+ SymlinkForest.builder()
+ .setLegacyExternalRunfiles(true)
+ .setPackageRoots(packageRootMap)
+ .setWorkspace(linkRoot)
+ .setProductName("mock-name")
+ .setWorkspaceName("wsname")
+ .build()
.plantSymlinkForest();
assertThat(linkRoot.getRelative("../wsname").exists()).isTrue();
}
diff --git a/src/test/java/com/google/devtools/build/lib/cmdline/LabelTest.java b/src/test/java/com/google/devtools/build/lib/cmdline/LabelTest.java
index 3766a76755..9fe683ce01 100644
--- a/src/test/java/com/google/devtools/build/lib/cmdline/LabelTest.java
+++ b/src/test/java/com/google/devtools/build/lib/cmdline/LabelTest.java
@@ -448,6 +448,6 @@ public class LabelTest {
Label label = Label.parseAbsolute("//bar/baz");
assertThat(label.getWorkspaceRoot()).isEmpty();
label = Label.parseAbsolute("@repo//bar/baz");
- assertThat(label.getWorkspaceRoot()).isEqualTo("external/repo");
+ assertThat(label.getWorkspaceRoot()).isEqualTo("../repo");
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/cmdline/PackageIdentifierTest.java b/src/test/java/com/google/devtools/build/lib/cmdline/PackageIdentifierTest.java
index a19ef4b7a3..42642b8851 100644
--- a/src/test/java/com/google/devtools/build/lib/cmdline/PackageIdentifierTest.java
+++ b/src/test/java/com/google/devtools/build/lib/cmdline/PackageIdentifierTest.java
@@ -19,12 +19,10 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertSame;
import com.google.devtools.build.lib.vfs.PathFragment;
-
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
-
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
@@ -39,8 +37,7 @@ public class PackageIdentifierTest {
PackageIdentifier fooA = PackageIdentifier.parse("@foo//a");
assertThat(fooA.getRepository().strippedName()).isEqualTo("foo");
assertThat(fooA.getPackageFragment().getPathString()).isEqualTo("a");
- assertThat(fooA.getRepository().getSourceRoot()).isEqualTo(
- new PathFragment("external/foo"));
+ assertThat(fooA.getRepository().getSourceRoot()).isEqualTo(new PathFragment("external/foo"));
PackageIdentifier absoluteA = PackageIdentifier.parse("//a");
assertThat(absoluteA.getRepository().strippedName()).isEqualTo("");
@@ -101,10 +98,12 @@ public class PackageIdentifierTest {
}
@Test
- public void testRunfilesDir() throws Exception {
- assertThat(PackageIdentifier.create("@foo", new PathFragment("bar/baz")).getRunfilesPath())
+ public void testPathUnderExecRoot() throws Exception {
+ assertThat(
+ PackageIdentifier.create("@foo", new PathFragment("bar/baz")).getPathUnderExecRoot())
.isEqualTo(new PathFragment("../foo/bar/baz"));
- assertThat(PackageIdentifier.create("@", new PathFragment("bar/baz")).getRunfilesPath())
+ assertThat(
+ PackageIdentifier.create("@", new PathFragment("bar/baz")).getPathUnderExecRoot())
.isEqualTo(new PathFragment("bar/baz"));
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/cmdline/RepositoryNameTest.java b/src/test/java/com/google/devtools/build/lib/cmdline/RepositoryNameTest.java
index 9a39bbfda1..24a19172c7 100644
--- a/src/test/java/com/google/devtools/build/lib/cmdline/RepositoryNameTest.java
+++ b/src/test/java/com/google/devtools/build/lib/cmdline/RepositoryNameTest.java
@@ -58,12 +58,12 @@ public class RepositoryNameTest {
}
@Test
- public void testRunfilesDir() throws Exception {
- assertThat(RepositoryName.create("@foo").getRunfilesPath())
+ public void testPathUnderExecRoot() throws Exception {
+ assertThat(RepositoryName.create("@foo").getPathUnderExecRoot())
.isEqualTo(new PathFragment("../foo"));
- assertThat(RepositoryName.create("@").getRunfilesPath())
+ assertThat(RepositoryName.create("@").getPathUnderExecRoot())
.isEqualTo(PathFragment.EMPTY_FRAGMENT);
- assertThat(RepositoryName.create("").getRunfilesPath())
+ assertThat(RepositoryName.create("").getPathUnderExecRoot())
.isEqualTo(PathFragment.EMPTY_FRAGMENT);
}
diff --git a/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java b/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java
index 4a80886573..d317977114 100644
--- a/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java
+++ b/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java
@@ -1814,7 +1814,9 @@ public class AndroidStudioInfoAspectTest extends AndroidStudioInfoAspectTestBase
public void testExternalRootCorrectlyIdentified() throws Exception {
ArtifactLocation location =
AndroidStudioInfoAspect.makeArtifactLocation(
- Root.asSourceRoot(outputBase, false), new PathFragment("external/foo/bar.jar"), true);
+ Root.asSourceRoot(outputBase.getRelative("external/foo"), false),
+ new PathFragment("bar.jar"),
+ true);
assertThat(location.getIsExternal()).isTrue();
}
@@ -1853,13 +1855,13 @@ public class AndroidStudioInfoAspectTest extends AndroidStudioInfoAspectTestBase
TargetIdeInfo targetInfo = getTargetIdeInfoAndVerifyLabel("@r//:junit", targetIdeInfos);
assertThat(targetInfo.getBuildFileArtifactLocation().getIsExternal()).isTrue();
- assertThat(targetInfo.getBuildFileArtifactLocation().getRelativePath()).startsWith("external");
+ assertThat(targetInfo.getBuildFileArtifactLocation().getRelativePath()).isEqualTo("BUILD");
JavaIdeInfo javaInfo = targetInfo.getJavaIdeInfo();
assertThat(javaInfo.getJarsList()).hasSize(1);
ArtifactLocation jar = javaInfo.getJars(0).getJar();
assertThat(jar.getIsSource()).isTrue();
assertThat(jar.getIsExternal()).isTrue();
- assertThat(jar.getRelativePath()).isEqualTo("external/r/junit.jar");
+ assertThat(jar.getRelativePath()).isEqualTo("junit.jar");
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java
index 466e06166a..25aa5b208c 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java
@@ -708,7 +708,7 @@ public class CcCommonTest extends BuildViewTestCase {
checkError(
"test",
"bad_relative_include",
- "Path references a path above the execution root.",
+ "../.. references a path above the execution root (..).",
"cc_library(name='bad_relative_include', srcs=[], includes=['../..'])");
}
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java
index 0765419165..bda5f6cbad 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java
@@ -1050,8 +1050,8 @@ public class CcLibraryConfiguredTargetTest extends BuildViewTestCase {
@Test
public void testSystemIncludePathsOutsideExecutionRoot() throws Exception {
checkError("root", "a",
- "The include path '../system' references a path outside of the execution root.",
- "cc_library(name='a', srcs=['a.cc'], copts=['-isystem../system'])");
+ "The include path '../../system' references a path outside of the execution root.",
+ "cc_library(name='a', srcs=['a.cc'], copts=['-isystem../../system'])");
}
@Test
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoLibraryTest.java
index b138480cc3..5951987a1d 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoLibraryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoLibraryTest.java
@@ -166,7 +166,7 @@ public class CcProtoLibraryTest extends BuildViewTestCase {
assertThat(protoCompileAction.getArguments())
.contains(
String.format(
- "--cpp_out=%s/external/bla",
+ "--cpp_out=../bla/%s",
getTargetConfiguration().getGenfilesFragment().toString()));
}
diff --git a/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilderTest.java b/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilderTest.java
index 2bb3800eb6..788488e077 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilderTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilderTest.java
@@ -34,6 +34,7 @@ import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
import com.google.devtools.build.lib.rules.proto.ProtoCompileActionBuilder.ProtoCommandLineArgv;
import com.google.devtools.build.lib.rules.proto.ProtoCompileActionBuilder.ToolchainInvocation;
import com.google.devtools.build.lib.util.LazyString;
+import com.google.devtools.build.lib.vfs.PathFragment;
import com.google.devtools.build.lib.vfs.inmemoryfs.InMemoryFileSystem;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -302,12 +303,24 @@ public class ProtoCompileActionBuilderTest {
*/
@Test
public void testIncludeMapsOfExternalFiles() throws Exception {
+ Label externalLabel = Label.parseAbsolute("@bla//foo:bar");
+ Root externalRoot = Root.asSourceRoot(
+ root.getPath().getRelative(
+ externalLabel.getPackageIdentifier().getRepository().getSourceRoot()),
+ false);
+ PathFragment externalPath = new PathFragment("foo/bar.proto");
+ System.out.println("Root: " + externalRoot + " path: " + externalPath);
+ Artifact externalArtifact = new Artifact(
+ externalRoot.getPath().getRelative(externalPath),
+ externalRoot,
+ externalRoot.getExecPath().getRelative(externalPath),
+ new LabelArtifactOwner(externalLabel));
assertThat(
new ProtoCommandLineArgv(
null /* protosInDirectoDependencies */,
- ImmutableList.of(artifact("@bla//foo:bar", "external/bla/foo/bar.proto")))
+ ImmutableList.of(externalArtifact))
.argv())
- .containsExactly("-Ifoo/bar.proto=external/bla/foo/bar.proto");
+ .containsExactly("-Ifoo/bar.proto=../bla/foo/bar.proto");
}
private Artifact artifact(String ownerLabel, String path) {
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java
index 578db1b98f..35681eeba9 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java
@@ -348,7 +348,7 @@ public class SkylarkRuleContextTest extends SkylarkTestCase {
reporter.removeHandler(failFastHandler);
getConfiguredTarget("@r//:cclib");
assertContainsEvent(
- "/external/r/BUILD:2:10: Label '@r//:sub/my_sub_lib.h' crosses boundary of "
+ "/r/BUILD:2:10: Label '@r//:sub/my_sub_lib.h' crosses boundary of "
+ "subpackage '@r//sub' (perhaps you meant to put the colon here: "
+ "'@r//sub:my_sub_lib.h'?)");
}
diff --git a/src/test/java/com/google/devtools/build/lib/testutil/TestConstants.java b/src/test/java/com/google/devtools/build/lib/testutil/TestConstants.java
index 64ede46f86..815b4f0889 100644
--- a/src/test/java/com/google/devtools/build/lib/testutil/TestConstants.java
+++ b/src/test/java/com/google/devtools/build/lib/testutil/TestConstants.java
@@ -68,7 +68,7 @@ public class TestConstants {
public static final ImmutableList<String> IGNORED_MESSAGE_PREFIXES = ImmutableList.<String>of();
- public static final String GCC_INCLUDE_PATH = "external/bazel_tools/tools/cpp/gcc3";
+ public static final String GCC_INCLUDE_PATH = "../bazel_tools/tools/cpp/gcc3";
public static final String TOOLS_REPOSITORY = "@bazel_tools";