• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2015 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#      http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15LOCAL_PATH:= $(call my-dir)
16
17# Make test APK
18# ============================================================
19include $(CLEAR_VARS)
20
21LOCAL_MODULE_TAGS := tests
22
23LOCAL_SRC_FILES := $(call all-subdir-java-files)
24
25# Provide jack a list of classes to exclude form code coverage
26# This list is generated from the java source files in this module
27# The list is a comma separated list of class names with * matching zero or more characters.
28# Example:
29#   Input files: src/com/android/server/wifi/Test.java src/com/android/server/wifi/AnotherTest.java
30#   Generated exclude list: com.android.server.wifi.Test*,com.android.server.wifi.AnotherTest*
31
32# Filter all src files to just java files
33local_java_files := $(filter %.java,$(LOCAL_SRC_FILES))
34# Transform java file names into full class names.
35# This only works if the class name matches the file name and the directory structure
36# matches the package.
37local_classes := $(subst /,.,$(patsubst src/%.java,%,$(local_java_files)))
38# Convert class name list to jacoco exclude list
39# This appends a * to all classes and replace the space separators with commas.
40# These patterns will match all classes in this module and their inner classes.
41jacoco_exclude := $(subst $(space),$(comma),$(patsubst %,%*,$(local_classes)))
42
43jacoco_include := com.android.server.wifi.*
44
45LOCAL_JACK_COVERAGE_INCLUDE_FILTER := $(jacoco_include)
46LOCAL_JACK_COVERAGE_EXCLUDE_FILTER := $(jacoco_exclude)
47
48LOCAL_DX_FLAGS := --multi-dex
49LOCAL_JACK_FLAGS := --multi-dex native
50
51# wifi-service and services must be included here so that the latest changes
52# will be used when tests. Otherwise the tests would run against the installed
53# system.
54# TODO figure out if this is the correct thing to do, this seems to not be right
55# since neither is declared a static java library.
56LOCAL_STATIC_JAVA_LIBRARIES := \
57	androidx.test.rules hamcrest-library \
58	mockito-target-extended-minus-junit4 \
59	frameworks-base-testutils \
60	services \
61	wifi-service \
62	truth-prebuilt \
63
64LOCAL_JAVA_LIBRARIES := \
65	android.test.runner \
66	android.hidl.manager-V1.2-java \
67	android.test.base \
68	android.test.mock
69
70# These must be explicitly included because they are not normally accessible
71# from apps.
72LOCAL_JNI_SHARED_LIBRARIES := \
73	libcrypto \
74	libwifi-service \
75	libEGL \
76	libGLESv2 \
77	libaudioutils \
78	libbacktrace \
79	libbase \
80	libbinder \
81	libbinderthreadstate \
82	libc++ \
83	ld-android \
84	libdl_android \
85	libcamera_client \
86	libcamera_metadata \
87	libcgrouprc \
88	libcutils \
89	libexpat \
90	libgui \
91	libhardware \
92	libandroidicu \
93	libjsoncpp \
94	liblzma \
95	libmedia \
96	libnativehelper \
97	libnbaio \
98	libnetutils \
99	libnl \
100	libpowermanager \
101	libprocessgroup \
102	libsonivox \
103	libstagefright_foundation \
104	libstdc++ \
105	libsync \
106	libwifi-system \
107	libui \
108	libunwindstack \
109	libutils \
110	libvndksupport \
111	libdexmakerjvmtiagent \
112	libstaticjvmtiagent
113
114ifdef WPA_SUPPLICANT_VERSION
115LOCAL_JNI_SHARED_LIBRARIES += libwpa_client
116endif
117
118LOCAL_PACKAGE_NAME := FrameworksWifiTests
119LOCAL_PRIVATE_PLATFORM_APIS := true
120
121LOCAL_COMPATIBILITY_SUITE := device-tests
122
123include $(BUILD_PACKAGE)
124