aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com
diff options
context:
space:
mode:
authorGravatar kchodorow <kchodorow@google.com>2017-07-11 18:12:55 +0200
committerGravatar László Csomor <laszlocsomor@google.com>2017-07-11 18:26:24 +0200
commit937350211dcd55a4714ec32ebbf33fffcc42cdf2 (patch)
tree77f2cb3d5b6c4fe1e66691a3f0bc4041593168c4 /src/test/java/com
parenta334363a500fb9df953fe2c70184ee013ff77ccb (diff)
Resolve references to @main-repo//foo to //foo
Bazel was creating an dummy external repository for @main-repo, which doesn't work with package paths and will cause conflicts once @main-repo//foo and //foo refer to the same path. This adds a "soft pull" option to WorkspaceNameFunction: it can either parse the entire WORKSPACE file to find the name or just the first section. That way PackageLookupFunction can find the repository name without causing a circular dependency. This should have no change of behavior and is already tested in https://github.com/bazelbuild/bazel/blob/master/src/test/shell/bazel/workspace_test.sh#L176. PiperOrigin-RevId: 161536466
Diffstat (limited to 'src/test/java/com')
-rw-r--r--src/test/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryIntegrationTest.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/PackageLookupFunctionTest.java1
2 files changed, 3 insertions, 2 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryIntegrationTest.java b/src/test/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryIntegrationTest.java
index 004987d7b8..35b08e1444 100644
--- a/src/test/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryIntegrationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryIntegrationTest.java
@@ -297,7 +297,7 @@ public class SkylarkRepositoryIntegrationTest extends BuildViewTestCase {
invalidatePackages();
try {
- getTarget("@//:git_repo");
+ getTarget("@git_repo//:whatever");
fail();
} catch (AssertionError expected) {
assertThat(expected)
@@ -332,7 +332,7 @@ public class SkylarkRepositoryIntegrationTest extends BuildViewTestCase {
fail();
} catch (NoSuchPackageException e) {
// This is expected
- assertThat(e).hasMessageThat().contains("Could not load //external package");
+ assertThat(e).hasMessageThat().contains("Package 'external' contains errors");
}
assertContainsEvent("missing value for mandatory attribute 'path' in 'local_repository' rule");
}
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/PackageLookupFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/PackageLookupFunctionTest.java
index 7e770ffe81..f407c247c1 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/PackageLookupFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/PackageLookupFunctionTest.java
@@ -123,6 +123,7 @@ public abstract class PackageLookupFunctionTest extends FoundationTestCase {
ruleClassProvider,
scratch.getFileSystem()),
directories));
+ skyFunctions.put(SkyFunctions.WORKSPACE_NAME, new WorkspaceNameFunction());
skyFunctions.put(SkyFunctions.EXTERNAL_PACKAGE, new ExternalPackageFunction());
skyFunctions.put(SkyFunctions.LOCAL_REPOSITORY_LOOKUP, new LocalRepositoryLookupFunction());
skyFunctions.put(