aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools
diff options
context:
space:
mode:
authorGravatar Damien Martin-Guillerez <dmarting@google.com>2016-03-11 22:35:41 +0000
committerGravatar Dmitry Lomov <dslomov@google.com>2016-03-14 13:52:51 +0000
commit82741ecec2d7cedbb0ab11b07f6ef3a6ef0737f2 (patch)
tree4d8d460c1dd4a256aac2e66e46ef960d8d4ca7f9 /src/test/java/com/google/devtools
parent74899385ed41baa411abe10071e1f1c0841b1295 (diff)
Add repository_ctx.name to get the name of the repository
Fixes #1030. -- MOS_MIGRATED_REVID=117009021
Diffstat (limited to 'src/test/java/com/google/devtools')
-rw-r--r--src/test/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryIntegrationTest.java27
1 files changed, 27 insertions, 0 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 dcdc6e40f0..329c30cfb1 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
@@ -221,4 +221,31 @@ public class SkylarkRepositoryIntegrationTest extends BuildViewTestCase {
Object path = target.getTarget().getAssociatedRule().getAttributeContainer().getAttr("path");
assertThat(path).isEqualTo("foo");
}
+
+ @Test
+ public void testSkylarkRepositoryName() throws Exception {
+ // Variation of the template rule to test the repository_ctx.name field.
+ scratch.file("/repo2/bar.txt", "filegroup(name='bar', srcs=['foo.txt'], path='{path}')");
+ scratch.file("/repo2/BUILD");
+ scratch.file("/repo2/WORKSPACE");
+ scratch.file(
+ "def.bzl",
+ "def _impl(ctx):",
+ " ctx.template('BUILD', Label('@repo2//:bar.txt'), {'{path}': ctx.name})",
+ " ctx.file('foo.txt', 'foo')",
+ "",
+ "repo = repository_rule(",
+ " implementation=_impl,",
+ " local=True)");
+ scratch.file(rootDirectory.getRelative("BUILD").getPathString());
+ scratch.overwriteFile(
+ rootDirectory.getRelative("WORKSPACE").getPathString(),
+ "local_repository(name='repo2', path='/repo2')",
+ "load('//:def.bzl', 'repo')",
+ "repo(name='foobar')");
+ invalidatePackages();
+ ConfiguredTarget target = getConfiguredTarget("@foobar//:bar");
+ Object path = target.getTarget().getAssociatedRule().getAttributeContainer().getAttr("path");
+ assertThat(path).isEqualTo("foobar");
+ }
}