1# Copyright (C) 2010 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
15cts_security_apps_list := \
16    CtsAppAccessData \
17    CtsAppWithData \
18    CtsDocumentProvider \
19    CtsDocumentClient \
20    CtsExternalStorageApp \
21    CtsInstrumentationAppDiffCert \
22    CtsPermissionDeclareApp \
23    CtsPermissionDeclareAppCompat \
24    CtsReadExternalStorageApp \
25    CtsSharedUidInstall \
26    CtsSharedUidInstallDiffCert \
27    CtsSimpleAppInstall \
28    CtsSimpleAppInstallDiffCert \
29    CtsSplitApp \
30    CtsSplitApp_x86 \
31    CtsSplitApp_x86_64 \
32    CtsSplitApp_armeabi-v7a \
33    CtsSplitApp_armeabi \
34    CtsSplitApp_arm64-v8a \
35    CtsSplitApp_mips64 \
36    CtsSplitApp_mips \
37    CtsSplitAppDiffVersion \
38    CtsSplitAppDiffCert \
39    CtsSplitAppFeature \
40    CtsTargetInstrumentationApp \
41    CtsUsePermissionDiffCert \
42    CtsWriteExternalStorageApp \
43    CtsMultiUserStorageApp
44
45cts_security_keysets_list := \
46    CtsKeySetTestApp \
47    CtsKeySetPermDefSigningA \
48    CtsKeySetPermDefSigningB\
49    CtsKeySetPermUseSigningA \
50    CtsKeySetPermUseSigningB \
51    CtsKeySetSigningAUpgradeA \
52    CtsKeySetSigningBUpgradeA \
53    CtsKeySetSigningAUpgradeAAndB \
54    CtsKeySetSigningAUpgradeAOrB \
55    CtsKeySetSigningAUpgradeB \
56    CtsKeySetSigningBUpgradeB \
57    CtsKeySetSigningAAndBUpgradeA \
58    CtsKeySetSigningAAndCUpgradeB \
59    CtsKeySetSigningAUpgradeNone
60
61cts_support_packages := \
62    CtsAccelerationTestStubs \
63    CtsAppTestStubs \
64    CtsDeviceAdmin \
65    CtsDeviceOpenGl \
66    CtsDeviceOwnerApp \
67    CtsDeviceTaskswitchingAppA \
68    CtsDeviceTaskswitchingAppB \
69    CtsDeviceTaskswitchingControl \
70    CtsDeviceUi \
71    CtsIntentReceiverApp \
72    CtsIntentSenderApp \
73    CtsManagedProfileApp \
74    CtsMonkeyApp \
75    CtsMonkeyApp2 \
76    CtsSomeAccessibilityServices \
77    CtsThemeDeviceApp \
78    TestDeviceSetup \
79    CtsUiAutomatorApp \
80    CtsUsbSerialTestApp \
81    $(cts_security_apps_list) \
82    $(cts_security_keysets_list)
83
84cts_external_packages := \
85    com.replica.replicaisland \
86    com.drawelements.deqp
87
88# Any APKs that need to be copied to the CTS distribution's testcases
89# directory but do not require an associated test package XML.
90CTS_TEST_CASE_LIST := \
91    $(cts_support_packages) \
92    $(cts_external_packages)
93
94# Test packages that require an associated test package XML.
95cts_test_packages := \
96    CtsDeviceFilePerf \
97    CtsDeviceUi \
98    CtsDeviceDram \
99    CtsDeviceSimpleCpu \
100    CtsDeviceBrowserBench \
101    CtsDeviceVideoPerf \
102    CtsDeviceOpenGl \
103    CtsAccelerationTestCases \
104    CtsAccountManagerTestCases \
105    CtsAccessibilityServiceTestCases \
106    CtsAccessibilityTestCases \
107    CtsAdminTestCases \
108    CtsAnimationTestCases \
109    CtsAppTestCases \
110    CtsBluetoothTestCases \
111    CtsCalendarcommon2TestCases \
112    CtsContentTestCases \
113    CtsDatabaseTestCases \
114    CtsDisplayTestCases \
115    CtsDpiTestCases \
116    CtsDpiTestCases2 \
117    CtsDreamsTestCases \
118    CtsDrmTestCases \
119    CtsEffectTestCases \
120    CtsGestureTestCases \
121    CtsGraphicsTestCases \
122    CtsGraphics2TestCases \
123    CtsHardwareTestCases \
124    CtsJobSchedulerDeviceTestCases \
125    CtsJniTestCases \
126    CtsKeystoreTestCases \
127    CtsLocationTestCases \
128    CtsLocation2TestCases \
129    CtsMediaStressTestCases \
130    CtsMediaTestCases \
131    CtsNativeOpenGLTestCases \
132    CtsNdefTestCases \
133    CtsNetTestCases \
134    CtsOpenGLTestCases \
135    CtsOpenGlPerfTestCases \
136    CtsOsTestCases \
137    CtsPermissionTestCases \
138    CtsPermission2TestCases \
139    CtsPreferenceTestCases \
140    CtsPreference2TestCases \
141    CtsPrintTestCases \
142    CtsProviderTestCases \
143    CtsRenderscriptTestCases \
144    CtsRenderscriptLegacyTestCases \
145    CtsRsCppTestCases \
146    CtsSaxTestCases \
147    CtsSecurityTestCases \
148    CtsSignatureTestCases \
149    CtsSpeechTestCases \
150    CtsTelephonyTestCases \
151    CtsTextTestCases \
152    CtsTextureViewTestCases \
153    CtsThemeTestCases \
154    CtsTvTestCases \
155    CtsUiAutomationTestCases \
156    CtsUiRenderingTestCases \
157    CtsUsageStatsTestCases \
158    CtsUtilTestCases \
159    CtsViewTestCases \
160    CtsWebkitTestCases \
161    CtsWebGLTestCases \
162    CtsWidgetTestCases
163
164# All APKs that need to be scanned by the coverage utilities.
165CTS_COVERAGE_TEST_CASE_LIST := \
166    $(cts_support_packages) \
167    $(cts_test_packages)
168
169# Host side only tests
170cts_host_libraries := \
171    CtsAdbTests \
172    CtsAppSecurityTests \
173    CtsDevicePolicyManagerTestCases \
174    CtsHostJank \
175    CtsHostUi \
176    CtsMonkeyTestCases \
177    CtsThemeHostTestCases \
178    CtsSecurityHostTestCases \
179    CtsUsbTests
180
181# List of native tests. For 32 bit targets, assumes that there will be
182# one test executable, and it will end in 32. For 64 bit targets, assumes
183# that there will be two executables, one that ends in 32 for the 32
184# bit executable and one that ends in 64 for the 64 bit executable.
185cts_native_tests := \
186    NativeMediaTest_SL \
187    NativeMediaTest_XA \
188
189ifeq ($(HOST_OS)-$(HOST_ARCH),$(filter $(HOST_OS)-$(HOST_ARCH),linux-x86 linux-x86_64))
190cts_native_tests += bionic-unit-tests-cts
191endif
192
193cts_ui_tests := \
194    CtsUiAutomatorTests
195
196cts_device_jars := \
197    CtsDeviceJank \
198    CtsPrintInstrument
199
200cts_device_executables := \
201    print-instrument
202
203cts_target_junit_tests := \
204    CtsJdwp
205
206cts_deqp_test_apis := \
207    gles3 \
208    gles31
209
210# All the files that will end up under the repository/testcases
211# directory of the final CTS distribution.
212CTS_TEST_CASES := $(call cts-get-lib-paths,$(cts_host_libraries)) \
213    $(call cts-get-package-paths,$(cts_test_packages)) \
214    $(call cts-get-ui-lib-paths,$(cts_ui_tests)) \
215    $(call cts-get-ui-lib-paths,$(cts_device_jars)) \
216    $(call cts-get-ui-lib-paths,$(cts_target_junit_tests)) \
217    $(call cts-get-executable-paths,$(cts_device_executables))
218
219# NOTE: If compiling on a 64 bit target, TARGET_2ND_ARCH will be non-empty
220# and will cause the function to expand to the secondary arch object
221# directory. If compiling on a 32 bit target, TARGET_2ND_ARCH will be
222# empty and will cause the function to expand to the primary arch object
223# directory.
224CTS_TEST_CASES += $(call cts-get-native-paths,$(cts_native_tests),32,$(TARGET_2ND_ARCH))
225
226ifeq ($(TARGET_IS_64_BIT),true)
227CTS_TEST_CASES += $(call cts-get-native-paths,$(cts_native_tests),64)
228endif
229
230# All the XMLs that will end up under the repository/testcases
231# and that need to be created before making the final CTS distribution.
232CTS_TEST_XMLS := $(call cts-get-test-xmls,$(cts_host_libraries)) \
233    $(call cts-get-test-xmls,$(cts_test_packages)) \
234    $(call cts-get-test-xmls,$(cts_native_tests)) \
235    $(call cts-get-test-xmls,$(cts_target_junit_tests)) \
236    $(call cts-get-test-xmls,$(cts_ui_tests)) \
237    $(call cts-get-deqp-test-xmls,$(cts_deqp_test_apis))
238
239# The following files will be placed in the tools directory of the CTS distribution
240CTS_TOOLS_LIST :=
241