diff options
author | Adam Michael <ajmichael@google.com> | 2017-10-07 01:03:20 +0200 |
---|---|---|
committer | Klaus Aehlig <aehlig@google.com> | 2017-10-07 11:07:40 +0200 |
commit | 2d8c832998b8a103ff49ee196004ce2be3c17b12 (patch) | |
tree | 2257416c89d7e3aa0879bb525ba03af6803d74c5 | |
parent | 4050a89a1e3fb6a9a9c6bd080cf4e3081a9f2012 (diff) |
Add an integration test for android_library IDL support.
This should catch breakages due to changes in the AIDL tools bundled in the SDK.
Change-Id: Iaff6ce058112a57b2b8da3e00a1172ee49cfdd85
PiperOrigin-RevId: 171357883
-rw-r--r-- | src/test/shell/bazel/android/BUILD | 10 | ||||
-rw-r--r-- | src/test/shell/bazel/android/aidl_integration_test.sh | 72 |
2 files changed, 82 insertions, 0 deletions
diff --git a/src/test/shell/bazel/android/BUILD b/src/test/shell/bazel/android/BUILD index fd02d82165..960bb5312e 100644 --- a/src/test/shell/bazel/android/BUILD +++ b/src/test/shell/bazel/android/BUILD @@ -39,6 +39,16 @@ sh_test( ) sh_test( + name = "aidl_integration_test", + size = "large", + srcs = ["aidl_integration_test.sh"], + data = [ + "//external:android_sdk_for_testing", + "//src/test/shell/bazel:test-deps", + ], +) + +sh_test( name = "desugarer_integration_test", size = "large", srcs = ["desugarer_integration_test.sh"], diff --git a/src/test/shell/bazel/android/aidl_integration_test.sh b/src/test/shell/bazel/android/aidl_integration_test.sh new file mode 100644 index 0000000000..a74b6a20b3 --- /dev/null +++ b/src/test/shell/bazel/android/aidl_integration_test.sh @@ -0,0 +1,72 @@ +#!/bin/bash +# +# Copyright 2017 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. + +CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +source "${CURRENT_DIR}/../../integration_test_setup.sh" \ + || { echo "integration_test_setup.sh not found!" >&2; exit 1; } + +function test_simple_idl_srcs() { + create_new_workspace + setup_android_sdk_support + + mkdir -p java/com/example + cat > java/com/example/BUILD <<EOF +android_library( + name = "lib", + srcs = ["Lib.java"], + idl_srcs = ["ILib.aidl"], +) +android_binary( + name = "bin", + manifest = "AndroidManifest.xml", + srcs = ["Bin.java"], + deps = [":lib"], +) +EOF + cat > java/com/example/AndroidManifest.xml <<EOF +<manifest package="com.example"/> +EOF + cat > java/com/example/ILib.aidl <<EOF +package com.example; +interface ILib {} +EOF + cat > java/com/example/Lib.java <<EOF +package com.example; +import android.os.IBinder; +class Lib implements ILib { + @Override + public IBinder asBinder() { + return null; + } +} +EOF + cat > java/com/example/Bin.java <<EOF +package com.example; +public class Bin { + ILib lib = new Lib(); +} +EOF + + bazel build -s --verbose_failures //java/com/example:bin \ + || fail "build failed" +} + +if [[ ! -r "${TEST_SRCDIR}/androidsdk" ]]; then + echo "Not running Android tests due to lack of an Android SDK." + exit 0 +fi + +run_suite "Android IDL tests" |