diff options
author | ajmichael <ajmichael@google.com> | 2017-04-19 05:05:59 +0200 |
---|---|---|
committer | Klaus Aehlig <aehlig@google.com> | 2017-04-19 10:49:52 +0200 |
commit | cdcd27cb17ff16cca428d5269cbd5dd41fba39bf (patch) | |
tree | afbb53308ffd1b40555623824eab17ac8ef9b4da /src/test/java/com/google/devtools/build/lib/rules | |
parent | 57df98e8ac121d7ed1e552ce8cc98a116511655a (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.java | 46 |
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(); + } } |