diff options
author | Jingwen Chen <jingwen@google.com> | 2018-08-10 14:34:16 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-08-10 14:36:10 -0700 |
commit | 50af3b73ad40f37ee9f6be989d630d7ae32b4767 (patch) | |
tree | 80e556007522ffc850b60edcce1e79e09251deef | |
parent | 209c82eb5f56dceb30b9fab22c7cb8383507e131 (diff) |
Add Android aapt and aapt2 integration tests
Closes #5770.
PiperOrigin-RevId: 208269268
-rw-r--r-- | src/test/shell/bazel/android/BUILD | 11 | ||||
-rwxr-xr-x | src/test/shell/bazel/android/aapt_integration_test.sh | 62 |
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" |