From 7fa955b83d86d8f03d339c58446806b6e0e51bf1 Mon Sep 17 00:00:00 2001 From: gregce Date: Wed, 31 May 2017 21:14:41 +0200 Subject: Make SelectorList.toString() user-friendly. This also guarantees consistency between toString() calls to lib.syntax.SelectorList and lib.packages.BuildType.SelectorList. PiperOrigin-RevId: 157617509 --- .../build/lib/skylark/SkylarkRuleContextTest.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/test/java/com/google/devtools/build') 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 8eeeb23bb4..c2010d571a 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 @@ -494,6 +494,23 @@ public class SkylarkRuleContextTest extends SkylarkTestCase { assertThat(getConfiguredTarget("//test:b")).isNotNull(); } + @Test + public void existingRuleWithSelect() throws Exception { + scratch.file( + "test/existing_rule.bzl", + "def macro():", + " s = select({'//foo': ['//bar']})", + " native.cc_library(name = 'x', srcs = s)", + " print(native.existing_rule('x')['srcs'])"); + scratch.file( + "test/BUILD", + "load('//test:existing_rule.bzl', 'macro')", + "macro()", + "cc_library(name = 'a', srcs = [])"); + getConfiguredTarget("//test:a"); + assertContainsEvent("selector({\"//foo:foo\": [\"//bar:bar\"]})"); + } + @Test public void testGetRule() throws Exception { scratch.file("test/skylark/BUILD"); -- cgit v1.2.3