From ef5e38fef0b80b36101ac66a79bbcff0f22e6605 Mon Sep 17 00:00:00 2001 From: Tao Bao Date: Tue, 24 Jul 2018 15:34:39 -0700 Subject: tests: Move to Android.bp. Also separate libupdater_defaults out to be shareable. It turns out the `data` property in `cc_test` doesn't follow symlinks as LOCAL_TEST_DATA does in Android.mk. This CL creates a filegroup in top-level Android.bp in order to pick up the testdata for ResourcesTest. Test: `mmma -j bootable/recovery` with aosp_marlin-userdebug Test: Run recovery_{unit,component,manual}_test on marlin. Test: Run recovery_host_test. Change-Id: I4532ab25aeb83c0b0baa8051d5fe34ba7b910a35 --- Android.bp | 8 ++ Android.mk | 1 - tests/Android.bp | 218 +++++++++++++++++++++++++++++++++++ tests/Android.mk | 227 ------------------------------------- tests/component/resources_test.cpp | 5 +- tests/res-testdata/res-hdpi | 1 - tests/res-testdata/res-mdpi | 1 - tests/res-testdata/res-xhdpi | 1 - tests/res-testdata/res-xxhdpi | 1 - tests/res-testdata/res-xxxhdpi | 1 - updater/Android.bp | 41 ++++--- 11 files changed, 253 insertions(+), 252 deletions(-) create mode 100644 tests/Android.bp delete mode 100644 tests/Android.mk delete mode 120000 tests/res-testdata/res-hdpi delete mode 120000 tests/res-testdata/res-mdpi delete mode 120000 tests/res-testdata/res-xhdpi delete mode 120000 tests/res-testdata/res-xxhdpi delete mode 120000 tests/res-testdata/res-xxxhdpi diff --git a/Android.bp b/Android.bp index e97f71d70..53b74dca5 100644 --- a/Android.bp +++ b/Android.bp @@ -291,3 +291,11 @@ cc_binary { "recovery-refresh.rc", ], } + +filegroup { + name: "res-testdata", + + srcs: [ + "res-*/images/*_text.png", + ], +} diff --git a/Android.mk b/Android.mk index 7d13f4cc4..80d107dc4 100644 --- a/Android.mk +++ b/Android.mk @@ -80,5 +80,4 @@ endif include $(BUILD_PHONY_PACKAGE) include \ - $(LOCAL_PATH)/tests/Android.mk \ $(LOCAL_PATH)/updater/Android.mk \ diff --git a/tests/Android.bp b/tests/Android.bp new file mode 100644 index 000000000..d305e2560 --- /dev/null +++ b/tests/Android.bp @@ -0,0 +1,218 @@ +// Copyright (C) 2018 The Android Open Source Project +// +// 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. + +cc_defaults { + name: "recovery_test_defaults", + + defaults: [ + "recovery_defaults", + ], + + include_dirs: [ + "bootable/recovery", + ], + + shared_libs: [ + "libbase", + "libcrypto", + "libcutils", + "liblog", + "libpng", + "libselinux", + "libz", + "libziparchive", + ], + + target: { + android: { + shared_libs: [ + "libutils", + ], + }, + + host: { + static_libs: [ + "libutils", + ], + } + }, +} + +// libapplypatch, libapplypatch_modes, libimgdiff, libimgpatch +libapplypatch_static_libs = [ + "libapplypatch_modes", + "libapplypatch", + "libedify", + "libimgdiff", + "libimgpatch", + "libotafault", + "libotautil", + "libbsdiff", + "libbspatch", + "libdivsufsort", + "libdivsufsort64", + "libutils", + "libbase", + "libbrotli", + "libbz", + "libcrypto", + "libz", + "libziparchive", +] + +// librecovery_defaults uses many shared libs that we want to avoid using in tests (e.g. we don't +// have 32-bit android.hardware.health@2.0.so or libbootloader_message.so on marlin). +librecovery_static_libs = [ + "librecovery", + "librecovery_fastboot", + "libminui", + "libverifier", + "libotautil", + + "libhealthhalutils", + "libvintf_recovery", + "libvintf", + + "android.hardware.health@2.0", + "android.hardware.health@1.0", + "libbootloader_message", + "libext4_utils", + "libfs_mgr", + "libfusesideload", + "libhidl-gen-utils", + "libhidlbase", + "libhidltransport", + "libhwbinder", + "libvndksupport", + "libtinyxml2", +] + +cc_test { + name: "recovery_unit_test", + + defaults: [ + "recovery_test_defaults", + ], + + test_suites: ["device-tests"], + + srcs: [ + "unit/asn1_decoder_test.cpp", + "unit/applypatch_test.cpp", + "unit/commands_test.cpp", + "unit/dirutil_test.cpp", + "unit/locale_test.cpp", + "unit/rangeset_test.cpp", + "unit/screen_ui_test.cpp", + "unit/sysutil_test.cpp", + "unit/zip_test.cpp", + ], + + static_libs: libapplypatch_static_libs + [ + "librecovery_ui", + "libminui", + "libverifier", + "libotautil", + "libupdater", + "libgtest_prod", + "libBionicGtestMain", + ], + + data: ["testdata/*"], +} + +cc_test { + name: "recovery_manual_test", + + defaults: [ + "recovery_test_defaults", + ], + + test_suites: ["device-tests"], + + srcs: [ + "manual/recovery_test.cpp", + ], + + static_libs: [ + "libBionicGtestMain", + ], +} + +cc_test { + name: "recovery_component_test", + + defaults: [ + "recovery_test_defaults", + "libupdater_defaults", + ], + + test_suites: ["device-tests"], + + srcs: [ + "component/bootloader_message_test.cpp", + "component/edify_test.cpp", + "component/imgdiff_test.cpp", + "component/install_test.cpp", + "component/resources_test.cpp", + "component/sideload_test.cpp", + "component/uncrypt_test.cpp", + "component/updater_test.cpp", + "component/update_verifier_test.cpp", + "component/verifier_test.cpp", + ], + + static_libs: libapplypatch_static_libs + librecovery_static_libs + [ + "libupdater", + "libupdate_verifier", + "libprotobuf-cpp-lite", + "libBionicGtestMain", + ], + + data: [ + "testdata/*", + ":res-testdata", + ], +} + +cc_test_host { + name: "recovery_host_test", + + defaults: [ + "recovery_test_defaults", + ], + + srcs: [ + "component/imgdiff_test.cpp", + ], + + static_libs: [ + "libimgdiff", + "libimgpatch", + "libotautil", + "libbsdiff", + "libbspatch", + "libziparchive", + "libutils", + "libcrypto", + "libbrotli", + "libbz", + "libdivsufsort64", + "libdivsufsort", + "libz", + "libBionicGtestMain", + ], + + data: ["testdata/*"], +} diff --git a/tests/Android.mk b/tests/Android.mk deleted file mode 100644 index b59da8045..000000000 --- a/tests/Android.mk +++ /dev/null @@ -1,227 +0,0 @@ -# -# Copyright (C) 2014 The Android Open Source Project -# -# 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. -# - -LOCAL_PATH := $(call my-dir) - -# libapplypatch, libapplypatch_modes, libimgdiff, libimgpatch. -libapplypatch_static_libraries := \ - libapplypatch_modes \ - libapplypatch \ - libedify \ - libimgdiff \ - libimgpatch \ - libotafault \ - libotautil \ - libbsdiff \ - libbspatch \ - libdivsufsort \ - libdivsufsort64 \ - libutils \ - libbase \ - libbrotli \ - libbz \ - libcrypto \ - libz \ - libziparchive \ - -# Unit tests -include $(CLEAR_VARS) -LOCAL_CFLAGS := -Wall -Werror -LOCAL_MODULE := recovery_unit_test -LOCAL_COMPATIBILITY_SUITE := device-tests -LOCAL_STATIC_LIBRARIES := \ - $(libapplypatch_static_libraries) \ - libverifier \ - librecovery_ui \ - libminui \ - libotautil \ - libupdater \ - libgtest_prod \ - libpng \ - libziparchive \ - libutils \ - libz \ - libselinux \ - libbase \ - libBionicGtestMain - -LOCAL_SRC_FILES := \ - unit/applypatch_test.cpp \ - unit/asn1_decoder_test.cpp \ - unit/commands_test.cpp \ - unit/dirutil_test.cpp \ - unit/locale_test.cpp \ - unit/rangeset_test.cpp \ - unit/screen_ui_test.cpp \ - unit/sysutil_test.cpp \ - unit/zip_test.cpp - -LOCAL_C_INCLUDES := bootable/recovery -LOCAL_SHARED_LIBRARIES := liblog -LOCAL_TEST_DATA := \ - $(call find-test-data-in-subdirs, $(LOCAL_PATH), "*", testdata) -include $(BUILD_NATIVE_TEST) - -# Manual tests -include $(CLEAR_VARS) -LOCAL_CFLAGS := -Wall -Werror -LOCAL_MODULE := recovery_manual_test -LOCAL_STATIC_LIBRARIES := \ - libbase \ - libBionicGtestMain - -LOCAL_SRC_FILES := manual/recovery_test.cpp -LOCAL_SHARED_LIBRARIES := \ - liblog - -include $(BUILD_NATIVE_TEST) - -# Component tests -include $(CLEAR_VARS) -LOCAL_CFLAGS := \ - -Wall \ - -Werror \ - -D_FILE_OFFSET_BITS=64 - -LOCAL_MODULE := recovery_component_test -LOCAL_COMPATIBILITY_SUITE := device-tests -LOCAL_C_INCLUDES := bootable/recovery -LOCAL_SRC_FILES := \ - component/applypatch_modes_test.cpp \ - component/bootloader_message_test.cpp \ - component/edify_test.cpp \ - component/imgdiff_test.cpp \ - component/install_test.cpp \ - component/resources_test.cpp \ - component/sideload_test.cpp \ - component/uncrypt_test.cpp \ - component/updater_test.cpp \ - component/update_verifier_test.cpp \ - component/verifier_test.cpp - -LOCAL_SHARED_LIBRARIES := \ - libhidlbase \ - libprotobuf-cpp-lite - -tune2fs_static_libraries := \ - libext2_com_err \ - libext2_blkid \ - libext2_quota \ - libext2_uuid \ - libext2_e2p \ - libext2fs - -libupdater_static_libraries := \ - libupdater \ - libapplypatch \ - libbootloader_message \ - libbspatch \ - libedify \ - libotafault \ - libotautil \ - libext4_utils \ - libfec \ - libfec_rs \ - libverity_tree \ - libfs_mgr \ - libgtest_prod \ - liblog \ - libselinux \ - libsparse \ - libsquashfs_utils \ - libbrotli \ - libbz \ - libziparchive \ - libz \ - libbase \ - libcrypto \ - libcrypto_utils \ - libcutils \ - libutils \ - libtune2fs \ - $(tune2fs_static_libraries) - -librecovery_static_libraries := \ - librecovery \ - libbootloader_message \ - libfusesideload \ - librecovery_ui_default \ - librecovery_ui \ - libminui \ - libverifier \ - libotautil \ - libcrypto_utils \ - libcrypto \ - libext4_utils \ - libfs_mgr \ - libpng \ - libsparse \ - libvintf_recovery \ - libvintf \ - libhidl-gen-utils \ - libtinyxml2 \ - libziparchive \ - libbase \ - libutils \ - libcutils \ - liblog \ - libselinux \ - libz \ - -libupdate_verifier_static_libraries := \ - libupdate_verifier \ - -LOCAL_STATIC_LIBRARIES := \ - $(libapplypatch_static_libraries) \ - $(librecovery_static_libraries) \ - $(libupdate_verifier_static_libraries) \ - $(libupdater_static_libraries) \ - libBionicGtestMain - -LOCAL_TEST_DATA := \ - $(call find-test-data-in-subdirs, $(LOCAL_PATH), "*", testdata) \ - $(call find-test-data-in-subdirs, $(LOCAL_PATH), "*_text.png", res-testdata) -include $(BUILD_NATIVE_TEST) - -# Host tests -include $(CLEAR_VARS) -LOCAL_CFLAGS := -Wall -Werror -LOCAL_MODULE := recovery_host_test -LOCAL_MODULE_HOST_OS := linux -LOCAL_C_INCLUDES := bootable/recovery -LOCAL_SRC_FILES := \ - component/imgdiff_test.cpp -LOCAL_STATIC_LIBRARIES := \ - libimgdiff \ - libimgpatch \ - libotautil \ - libbsdiff \ - libbspatch \ - libziparchive \ - libutils \ - libbase \ - libcrypto \ - libbrotli \ - libbz \ - libdivsufsort64 \ - libdivsufsort \ - libz \ - libBionicGtestMain -LOCAL_SHARED_LIBRARIES := \ - liblog -LOCAL_TEST_DATA := \ - $(call find-test-data-in-subdirs, $(LOCAL_PATH), "*", testdata) -include $(BUILD_HOST_NATIVE_TEST) diff --git a/tests/component/resources_test.cpp b/tests/component/resources_test.cpp index b00c3d528..54329db22 100644 --- a/tests/component/resources_test.cpp +++ b/tests/component/resources_test.cpp @@ -33,9 +33,8 @@ static const std::string kLocale = "zu"; static const std::vector kResourceImagesDirs{ - "res-testdata/res-mdpi/images/", "res-testdata/res-hdpi/images/", - "res-testdata/res-xhdpi/images/", "res-testdata/res-xxhdpi/images/", - "res-testdata/res-xxxhdpi/images/", + "res-mdpi/images/", "res-hdpi/images/", "res-xhdpi/images/", + "res-xxhdpi/images/", "res-xxxhdpi/images/", }; static int png_filter(const dirent* de) { diff --git a/tests/res-testdata/res-hdpi b/tests/res-testdata/res-hdpi deleted file mode 120000 index c339b1df4..000000000 --- a/tests/res-testdata/res-hdpi +++ /dev/null @@ -1 +0,0 @@ -../../res-hdpi \ No newline at end of file diff --git a/tests/res-testdata/res-mdpi b/tests/res-testdata/res-mdpi deleted file mode 120000 index 4be630d6f..000000000 --- a/tests/res-testdata/res-mdpi +++ /dev/null @@ -1 +0,0 @@ -../../res-mdpi \ No newline at end of file diff --git a/tests/res-testdata/res-xhdpi b/tests/res-testdata/res-xhdpi deleted file mode 120000 index 429eead83..000000000 --- a/tests/res-testdata/res-xhdpi +++ /dev/null @@ -1 +0,0 @@ -../../res-xhdpi \ No newline at end of file diff --git a/tests/res-testdata/res-xxhdpi b/tests/res-testdata/res-xxhdpi deleted file mode 120000 index 304cc28b3..000000000 --- a/tests/res-testdata/res-xxhdpi +++ /dev/null @@ -1 +0,0 @@ -../../res-xxhdpi \ No newline at end of file diff --git a/tests/res-testdata/res-xxxhdpi b/tests/res-testdata/res-xxxhdpi deleted file mode 120000 index 2236ad8cc..000000000 --- a/tests/res-testdata/res-xxxhdpi +++ /dev/null @@ -1 +0,0 @@ -../../res-xxxhdpi \ No newline at end of file diff --git a/updater/Android.bp b/updater/Android.bp index 9a36ebbb7..c77bac8fb 100644 --- a/updater/Android.bp +++ b/updater/Android.bp @@ -12,27 +12,13 @@ // See the License for the specific language governing permissions and // limitations under the License. -cc_library_static { - name: "libupdater", +cc_defaults { + name: "libupdater_defaults", defaults: [ "recovery_defaults", ], - srcs: [ - "blockimg.cpp", - "commands.cpp", - "install.cpp", - ], - - include_dirs: [ - "external/e2fsprogs/misc", - ], - - export_include_dirs: [ - "include", - ], - static_libs: [ "libapplypatch", "libbootloader_message", @@ -69,3 +55,26 @@ cc_library_static { "libext2fs", ], } + +cc_library_static { + name: "libupdater", + + defaults: [ + "recovery_defaults", + "libupdater_defaults", + ], + + srcs: [ + "blockimg.cpp", + "commands.cpp", + "install.cpp", + ], + + include_dirs: [ + "external/e2fsprogs/misc", + ], + + export_include_dirs: [ + "include", + ], +} -- cgit v1.2.3