1 # 2 # Copyright (C) 2016 The Android Open Source Project 3 # 4 # Licensed under the Apache License, Version 2.0 (the "License"); 5 # you may not use this file except in compliance with the License. 6 # You may obtain a copy of the License at 7 # 8 # http://www.apache.org/licenses/LICENSE-2.0 9 # 10 # Unless required by applicable law or agreed to in writing, software 11 # distributed under the License is distributed on an "AS IS" BASIS, 12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 # See the License for the specific language governing permissions and 14 # limitations under the License. 15 # 16 17 LOCAL_PATH := $(call my-dir) 18 19 include $(LOCAL_PATH)/../Android.clean.mk 20 21 test_cflags = \ 22 -fstack-protector-all \ 23 -g \ 24 -Wall -Wextra -Wunused \ 25 -Werror \ 26 -fno-builtin \ 27 28 test_cflags += -D__STDC_LIMIT_MACROS # For glibc. 29 30 test_cppflags := \ 31 32 test_executable := VtsHalPowerTestCases 33 list_executable := $(test_executable)_list 34 35 include $(CLEAR_VARS) 36 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 37 38 LOCAL_MODULE := $(test_executable) 39 LOCAL_MODULE_TAGS := optional 40 LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/nativetest 41 LOCAL_MULTILIB := both 42 LOCAL_MODULE_STEM_32 := $(LOCAL_MODULE)32 43 LOCAL_MODULE_STEM_64 := $(LOCAL_MODULE)64 44 45 LOCAL_SHARED_LIBRARIES += \ 46 libdl \ 47 libhardware \ 48 49 LOCAL_WHOLE_STATIC_LIBRARIES += \ 50 libHalPowerTests \ 51 libVtsGtestMain \ 52 53 LOCAL_STATIC_LIBRARIES += \ 54 libbase \ 55 libtinyxml2 \ 56 liblog \ 57 libgtest \ 58 59 # Tag this module as a vts test artifact 60 LOCAL_COMPATIBILITY_SUITE := vts 61 62 include $(BUILD_EXECUTABLE) 63 64 # VTS testcase isn't designed to be run on host due to its dependencies to 65 # libhardware or other android runtime. 66 build_host := false 67 common_additional_dependencies := $(LOCAL_PATH)/Android.mk $(LOCAL_PATH)/../Android.build.mk 68 69 # ----------------------------------------------------------------------------- 70 # All standard tests. 71 # ----------------------------------------------------------------------------- 72 73 libHalPowerStandardTests_src_files := \ 74 hal_power_basic_test.cpp 75 76 libHalPowerStandardTests_cflags := \ 77 $(test_cflags) \ 78 79 libHalPowerStandardTests_cppflags := \ 80 $(test_cppflags) \ 81 82 libHalPowerStandardTests_c_includes := \ 83 test/vts/testcases/include \ 84 external/tinyxml2 \ 85 86 libHalPowerStandardTests_static_libraries := \ 87 libbase \ 88 89 libHalPowerStandardTests_ldlibs_host := \ 90 -lrt \ 91 92 module := libHalPowerStandardTests 93 module_tag := optional 94 build_type := target 95 build_target := STATIC_TEST_LIBRARY 96 include $(LOCAL_PATH)/../Android.build.mk 97 build_type := host 98 include $(LOCAL_PATH)/../Android.build.mk 99 100 # Library of all tests (excluding the dynamic linker tests). 101 # ----------------------------------------------------------------------------- 102 libHalPowerTests_whole_static_libraries := \ 103 libHalPowerStandardTests \ 104 105 106 module := libHalPowerTests 107 module_tag := optional 108 build_type := target 109 build_target := STATIC_TEST_LIBRARY 110 include $(LOCAL_PATH)/../Android.build.mk 111 build_type := host 112 include $(LOCAL_PATH)/../Android.build.mk 113 114 # ----------------------------------------------------------------------------- 115 # Tests for the device using HAL Lights's .so. Run with: 116 # adb shell /data/nativetest/halpower-unit-tests/halpower-unit-tests32 117 # adb shell /data/nativetest/halpower-unit-tests/halpower-unit-tests64 118 # adb shell /data/nativetest/halpower-unit-tests/halpower-unit-tests-gcc32 119 # adb shell /data/nativetest/halpower-unit-tests/halpower-unit-tests-gcc64 120 # ----------------------------------------------------------------------------- 121 common_halpower-unit-tests_whole_static_libraries := \ 122 libHalPowerTests \ 123 libVtsGtestMain \ 124 125 common_halpower-unit-tests_static_libraries := \ 126 libtinyxml2 \ 127 liblog \ 128 libbase \ 129 130 # TODO: Include __cxa_thread_atexit_test.cpp to glibc tests once it is upgraded (glibc 2.18+) 131 common_halpower-unit-tests_src_files := \ 132 hal_power_basic_test.cpp \ 133 134 common_halpower-unit-tests_cflags := $(test_cflags) 135 136 common_halpower-unit-tests_conlyflags := \ 137 -fexceptions \ 138 -fnon-call-exceptions \ 139 140 common_halpower-unit-tests_cppflags := \ 141 $(test_cppflags) 142 143 common_halpower-unit-tests_ldflags := \ 144 -Wl,--export-dynamic 145 146 common_halpower-unit-tests_c_includes := \ 147 bionic/libc \ 148 149 common_halpower-unit-tests_shared_libraries_target := \ 150 libdl \ 151 libhardware \ 152 libpagemap \ 153 libdl_preempt_test_1 \ 154 libdl_preempt_test_2 \ 155 libdl_test_df_1_global \ 156 157 # The order of these libraries matters, do not shuffle them. 158 common_halpower-unit-tests_static_libraries_target := \ 159 libbase \ 160 libziparchive \ 161 libz \ 162 libutils \ 163 164 module_tag := optional 165 build_type := target 166 build_target := NATIVE_TEST 167 168 module := halpower-unit-tests 169 halpower-unit-tests_clang_target := true 170 halpower-unit-tests_whole_static_libraries := $(common_halpower-unit-tests_whole_static_libraries) 171 halpower-unit-tests_static_libraries := $(common_halpower-unit-tests_static_libraries) 172 halpower-unit-tests_src_files := $(common_halpower-unit-tests_src_files) 173 halpower-unit-tests_cflags := $(common_halpower-unit-tests_cflags) 174 halpower-unit-tests_conlyflags := $(common_halpower-unit-tests_conlyflags) 175 halpower-unit-tests_cppflags := $(common_halpower-unit-tests_cppflags) 176 halpower-unit-tests_ldflags := $(common_halpower-unit-tests_ldflags) 177 halpower-unit-tests_c_includes := $(common_halpower-unit-tests_c_includes) 178 halpower-unit-tests_shared_libraries_target := $(common_halpower-unit-tests_shared_libraries_target) 179 halpower-unit-tests_static_libraries_target := $(common_halpower-unit-tests_static_libraries_target) 180 include $(LOCAL_PATH)/../Android.build.mk 181 182 module := halpower-unit-tests-gcc 183 halpower-unit-tests-gcc_clang_target := false 184 halpower-unit-tests-gcc_whole_static_libraries := $(common_halpower-unit-tests_whole_static_libraries) 185 halpower-unit-tests-gcc_static_libraries := $(common_halpower-unit-tests_static_libraries) 186 halpower-unit-tests-gcc_src_files := $(common_halpower-unit-tests_src_files) 187 halpower-unit-tests-gcc_cflags := $(common_halpower-unit-tests_cflags) 188 halpower-unit-tests-gcc_conlyflags := $(common_halpower-unit-tests_conlyflags) 189 halpower-unit-tests-gcc_cppflags := $(common_halpower-unit-tests_cppflags) 190 halpower-unit-tests-gcc_ldflags := $(common_halpower-unit-tests_ldflags) 191 halpower-unit-tests-gcc_c_includes := $(common_halpower-unit-tests_c_includes) 192 halpower-unit-tests-gcc_shared_libraries_target := $(common_halpower-unit-tests_shared_libraries_target) 193 halpower-unit-tests-gcc_static_libraries_target := $(common_halpower-unit-tests_static_libraries_target) 194 include $(LOCAL_PATH)/../Android.build.mk 195