diff options
author | cparsons <cparsons@google.com> | 2018-03-19 13:15:59 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-03-19 13:17:39 -0700 |
commit | bff4ac081bd80f227cc0c3027f67e306d35699fa (patch) | |
tree | b5af2374b8fb6f2cb011005716b57b0ac701030c /src/test | |
parent | 6590914692db2c4ee7d582d90b28dd1b11bfaa79 (diff) |
Expose the j2objc configuration fragment, with field dead_code_report, matching build flag --j2objc_dead_code_report.
RELNOTES: The 'j2objc' configuration fragment is exposed to Skylark.
PiperOrigin-RevId: 189630012
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/rules/objc/ObjcSkylarkTest.java | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcSkylarkTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcSkylarkTest.java index 9638eac2bb..1d3da5ef89 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcSkylarkTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcSkylarkTest.java @@ -25,9 +25,11 @@ import com.google.common.collect.ObjectArrays; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.util.ActionsTestUtil; import com.google.devtools.build.lib.analysis.ConfiguredTarget; +import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.packages.SkylarkInfo; import com.google.devtools.build.lib.rules.apple.AppleToolchain; import com.google.devtools.build.lib.rules.apple.DottedVersion; +import com.google.devtools.build.lib.syntax.Runtime; import com.google.devtools.build.lib.syntax.SkylarkDict; import com.google.devtools.build.lib.syntax.SkylarkNestedSet; import com.google.devtools.build.lib.vfs.PathFragment; @@ -528,6 +530,41 @@ public class ObjcSkylarkTest extends ObjcRuleTestCase { } @Test + public void testSkylarkCanAccessJ2objcConfiguration() throws Exception { + scratch.file("examples/rule/BUILD"); + scratch.file( + "examples/rule/objc_rules.bzl", + "def test_rule_impl(ctx):", + " dead_code_report = ctx.fragments.j2objc.dead_code_report", + " return struct(", + " dead_code_report=dead_code_report,", + " )", + "test_rule = rule(", + " implementation = test_rule_impl,", + " fragments = ['j2objc']", + ")"); + + scratch.file( + "examples/objc_skylark/BUILD", + "package(default_visibility = ['//visibility:public'])", + "load('//examples/rule:objc_rules.bzl', 'test_rule')", + "test_rule(", + " name='my_target',", + ")"); + + useConfiguration(); + ConfiguredTarget skylarkTarget = getConfiguredTarget("//examples/objc_skylark:my_target"); + assertThat(skylarkTarget.get("dead_code_report")).isEqualTo(Runtime.NONE); + + useConfiguration("--j2objc_dead_code_report=//foo:bar"); + skylarkTarget = getConfiguredTarget("//examples/objc_skylark:my_target"); + + @SuppressWarnings("unchecked") + Label label = (Label) skylarkTarget.get("dead_code_report"); + assertThat(label.getCanonicalForm()).isEqualTo("//foo:bar"); + } + + @Test public void testSigningCertificateNameCanReturnNone() throws Exception { scratch.file("examples/rule/BUILD"); scratch.file( |