aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Jingwen Chen <jingwen@google.com>2018-08-10 14:34:16 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-08-10 14:36:10 -0700
commit50af3b73ad40f37ee9f6be989d630d7ae32b4767 (patch)
tree80e556007522ffc850b60edcce1e79e09251deef
parent209c82eb5f56dceb30b9fab22c7cb8383507e131 (diff)
Add Android aapt and aapt2 integration tests
Closes #5770. PiperOrigin-RevId: 208269268
-rw-r--r--src/test/shell/bazel/android/BUILD11
-rwxr-xr-xsrc/test/shell/bazel/android/aapt_integration_test.sh62
2 files changed, 73 insertions, 0 deletions
diff --git a/src/test/shell/bazel/android/BUILD b/src/test/shell/bazel/android/BUILD
index da4d336b31..2f8d4a8eb3 100644
--- a/src/test/shell/bazel/android/BUILD
+++ b/src/test/shell/bazel/android/BUILD
@@ -35,6 +35,17 @@ sh_test(
)
sh_test(
+ name = "aapt_integration_test",
+ size = "large",
+ srcs = ["aapt_integration_test.sh"],
+ data = [
+ ":android_helper",
+ "//external:android_sdk_for_testing",
+ "//src/test/shell/bazel:test-deps",
+ ],
+)
+
+sh_test(
name = "aar_integration_test",
size = "large",
srcs = ["aar_integration_test.sh"],
diff --git a/src/test/shell/bazel/android/aapt_integration_test.sh b/src/test/shell/bazel/android/aapt_integration_test.sh
new file mode 100755
index 0000000000..159f7a09bc
--- /dev/null
+++ b/src/test/shell/bazel/android/aapt_integration_test.sh
@@ -0,0 +1,62 @@
+#!/bin/bash
+#
+# Copyright 2018 The Bazel Authors. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# For these tests to run do the following:
+#
+# 1. Install an Android SDK from https://developer.android.com
+# 2. Set the $ANDROID_HOME environment variable
+# 3. Uncomment the line in WORKSPACE containing android_sdk_repository
+#
+# Note that if the environment is not set up as above android_integration_test
+# will silently be ignored and will be shown as passing.
+
+# Load the test setup defined in the parent directory
+CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+
+source "${CURRENT_DIR}/android_helper.sh" \
+ || { echo "android_helper.sh not found!" >&2; exit 1; }
+fail_if_no_android_sdk
+
+source "${CURRENT_DIR}/../../integration_test_setup.sh" \
+ || { echo "integration_test_setup.sh not found!" >&2; exit 1; }
+
+function test_build_with_aapt() {
+ create_new_workspace
+ setup_android_sdk_support
+ create_android_binary
+
+ assert_build //java/bazel:bin --android_aapt=aapt
+}
+
+function test_build_with_aapt2() {
+ create_new_workspace
+ setup_android_sdk_support
+ create_android_binary
+
+ assert_build //java/bazel:bin --android_aapt=aapt2
+}
+
+function test_build_with_aapt2_skip_parsing_action() {
+ create_new_workspace
+ setup_android_sdk_support
+ create_android_binary
+
+ assert_build //java/bazel:bin \
+ --android_aapt=aapt2 \
+ --experimental_skip_parsing_action
+}
+
+run_suite "aapt/aapt2 integration tests"