From 50af3b73ad40f37ee9f6be989d630d7ae32b4767 Mon Sep 17 00:00:00 2001 From: Jingwen Chen Date: Fri, 10 Aug 2018 14:34:16 -0700 Subject: Add Android aapt and aapt2 integration tests Closes #5770. PiperOrigin-RevId: 208269268 --- src/test/shell/bazel/android/BUILD | 11 ++++ .../shell/bazel/android/aapt_integration_test.sh | 62 ++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100755 src/test/shell/bazel/android/aapt_integration_test.sh 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 @@ -34,6 +34,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", 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" -- cgit v1.2.3