aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/rules
diff options
context:
space:
mode:
authorGravatar ajmichael <ajmichael@google.com>2017-04-19 05:05:59 +0200
committerGravatar Klaus Aehlig <aehlig@google.com>2017-04-19 10:49:52 +0200
commitcdcd27cb17ff16cca428d5269cbd5dd41fba39bf (patch)
treeafbb53308ffd1b40555623824eab17ac8ef9b4da /src/test/java/com/google/devtools/build/lib/rules
parent57df98e8ac121d7ed1e552ce8cc98a116511655a (diff)
RELNOTES: None
PiperOrigin-RevId: 153545346
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/rules')
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/android/AndroidBinaryTest.java46
1 files changed, 46 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 6b366b418b..d6f10dd953 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
@@ -2738,4 +2738,50 @@ public class AndroidBinaryTest extends AndroidBuildViewTestCase {
assertThat(action.getFileContents())
.isEqualTo("//java/com/foo:flag1: on\n//java/com/foo:flag2: off");
}
+
+ @Test
+ public void testNocompressExtensions() throws Exception {
+ scratch.file(
+ "java/r/android/BUILD",
+ "android_binary(",
+ " name = 'r',",
+ " srcs = ['Foo.java'],",
+ " manifest = 'AndroidManifest.xml',",
+ " resource_files = ['res/raw/foo.apk'],",
+ " nocompress_extensions = ['.apk', '.so'],",
+ ")");
+ ConfiguredTarget binary = getConfiguredTarget("//java/r/android:r");
+ ResourceContainer resource = getResourceContainer(binary);
+ List<String> args = resourceArguments(resource);
+ Artifact inputManifest =
+ getFirstArtifactEndingWith(
+ getGeneratingSpawnAction(resource.getManifest()).getInputs(), "AndroidManifest.xml");
+ assertContainsSublist(
+ args,
+ ImmutableList.of(
+ "--primaryData", "java/r/android/res::" + inputManifest.getExecPathString()));
+ assertThat(args).contains("--uncompressedExtensions");
+ assertThat(args.get(args.indexOf("--uncompressedExtensions") + 1)).isEqualTo(".apk,.so");
+ }
+
+ @Test
+ public void testNocompressExtensions_useNocompressExtensionsOnApk() throws Exception {
+ scratch.file(
+ "java/r/android/BUILD",
+ "android_binary(",
+ " name = 'r',",
+ " srcs = ['Foo.java'],",
+ " manifest = 'AndroidManifest.xml',",
+ " resource_files = ['res/raw/foo.apk'],",
+ " nocompress_extensions = ['.apk', '.so'],",
+ ")");
+ useConfiguration("--experimental_android_use_nocompress_extensions_on_apk");
+ ConfiguredTarget binary = getConfiguredTarget("//java/r/android:r");
+ assertThat(getCompressedUnsignedApkAction(binary).getArguments())
+ .containsAllOf("--nocompress_suffixes", ".apk", ".so")
+ .inOrder();
+ assertThat(getFinalUnsignedApkAction(binary).getArguments())
+ .containsAllOf("--nocompress_suffixes", ".apk", ".so")
+ .inOrder();
+ }
}