diff options
author | Googler <noreply@google.com> | 2018-03-23 03:44:08 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-03-23 03:45:28 -0700 |
commit | bbb5a5017cdc0f8e06864800a626714e2fa975df (patch) | |
tree | d64da4b5a24cae1f1d38469d270521ba2a793a44 /src | |
parent | 3ef288c0cf49783399c60ed9a33dcd98f3ae1210 (diff) |
Add test that blaze feature_flags are passed correctly when the alias is invoked
PiperOrigin-RevId: 190200144
Diffstat (limited to 'src')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/rules/android/AndroidBinaryTest.java | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidBinaryTest.java b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidBinaryTest.java index d25b28db01..3a4015fb20 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidBinaryTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidBinaryTest.java @@ -3071,6 +3071,43 @@ public class AndroidBinaryTest extends AndroidBuildViewTestCase { } @Test + public void testFeatureFlagsAttributeSetsSelectInBinaryAlias() throws Exception { + useConfiguration("--experimental_dynamic_configs=notrim"); + scratch.file( + "java/com/foo/BUILD", + "config_feature_flag(", + " name = 'flag1',", + " allowed_values = ['on', 'off'],", + " default_value = 'off',", + ")", + "config_setting(", + " name = 'flag1@on',", + " flag_values = {':flag1': 'on'},", + ")", + "android_binary(", + " name = 'foo',", + " manifest = 'AndroidManifest.xml',", + " srcs = select({", + " ':flag1@on': ['Flag1On.java'],", + " '//conditions:default': ['Flag1Off.java'],", + " }),", + " feature_flags = {", + " 'flag1': 'on',", + " }", + ")", + "alias(", + " name = 'alias',", + " actual = ':foo',", + ")"); + ConfiguredTarget binary = getConfiguredTarget("//java/com/foo:alias"); + List<String> inputs = + prettyArtifactNames(actionsTestUtil().artifactClosureOf(getFinalUnsignedApk(binary))); + + assertThat(inputs).contains("java/com/foo/Flag1On.java"); + assertThat(inputs).doesNotContain("java/com/foo/Flag1Off.java"); + } + + @Test public void testFeatureFlagsAttributeFailsAnalysisIfFlagValueIsInvalid() throws Exception { reporter.removeHandler(failFastHandler); useConfiguration("--experimental_dynamic_configs=on"); |