1// Copyright (C) 2024 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
15package {
16    default_team: "trendy_team_system_experience",
17    default_applicable_licenses: ["Android-Apache-2.0"],
18}
19
20android_robolectric_test {
21    name: "CarSettingsMultivalentRoboTests",
22    srcs: [
23        "src/**/*.kt",
24        // Goal is have `src/**/*.java` (i.e. all tests to work w/ Robolectric)
25        // "src/**/AccountDetailsPreferenceControllerTest.java",
26        "src/**/AccountGroupPreferenceControllerTest.java",
27        "src/**/AddMobileNetworkPreferenceControllerTest.java",
28        // "src/**/AddProfilePreferenceControllerTest.java",
29        "src/**/AllAppsPreferenceControllerTest.java",
30        "src/**/BluetoothStateSwitchPreferenceControllerTest.java",
31        "src/**/CellularFallbackTogglePreferenceControllerTest.java",
32        "src/**/ChooseLockTypePreferenceControllerTest.java",
33        "src/**/ConfirmLockLockoutHelperTest.java",
34        "src/**/DataLimitPreferenceControllerTest.java",
35        "src/**/DataUsageEditTextPreferenceControllerTest.java",
36        "src/**/DataUsageSummaryPreferenceControllerTest.java",
37        "src/**/DataWarningPreferenceControllerTest.java",
38        "src/**/DatePickerPreferenceControllerTest.java",
39        "src/**/DefaultAssistantPickerEntryPreferenceControllerTest.java",
40        "src/**/DomainUrlsUtilsTest.java",
41        "src/**/KeyboardManagementPreferenceControllerTest.java",
42        // "src/**/LanguageBasePreferenceControllerTest.java",
43        "src/**/LegalPreferenceControllerTest.java",
44        "src/**/LocationInfotainmentAppsPreferenceControllerTest.java",
45        "src/**/LocationRecentAccessViewAllPreferenceControllerTest.java",
46        "src/**/LocationServicesPreferenceControllerTest.java",
47        "src/**/LockTypeBasePreferenceControllerTest.java",
48        "src/**/ManageCameraPermissionsPreferenceControllerTest.java",
49        "src/**/ManageMicPermissionsPreferenceControllerTest.java",
50        "src/**/MediaVolumeSliderWorkerTest.java",
51        "src/**/MicTogglePreferenceControllerTest.java",
52        "src/**/MicrophoneRecentAccessViewAllPreferenceControllerTest.java",
53        "src/**/MoreSpecialAccessPreferenceControllerTest.java",
54        "src/**/NotificationsPreferenceControllerTest.java",
55        "src/**/PreferenceControllerTest.java",
56        // "src/**/ProfileDetailsActionButtonsPreferenceControllerTest.java",
57        "src/**/RecentAppsViewAllPreferenceControllerTest.java",
58        "src/**/ResetNetworkEntryPreferenceControllerTest.java",
59        "src/**/SettingsQCRegistryTest.java",
60        // "src/**/StorageApplicationActionButtonsPreferenceControllerTest.java",
61        "src/**/StorageApplicationListPreferenceControllerTest.java",
62        "src/**/StorageSettingsManagerTest.java",
63        "src/**/SubscriptionsChangeListenerTest.java",
64        "src/**/ThemeTogglePreferenceControllerTest.java",
65        "src/**/ThirdPartyLicensePreferenceControllerTest.java",
66        "src/**/TimeZonePickerPreferenceControllerTest.java",
67        "src/**/UnitsBasePreferenceControllerTest.java",
68        "src/**/UnitsPressurePreferenceControllerTest.java",
69        "src/**/WifiTetherPreferenceControllerTest.java",
70        "src/**/testutils/*.java",
71        "src/**/TestBluetoothRequestPermissionActivity.java",
72        "src/**/BaseCarSettingsActivityTestCase.java",
73        "src/**/FakePreferenceController.java",
74        "src/**/PreferenceControllerTestUtil.java",
75        "src/**/SettingsFragmentTestCase.java",
76        "src/**/BaseAdminGrantedPermissionsApplicationListPreferenceControllerTestCase.java",
77        "src/**/BaseAdminGrantedPermissionsPreferenceControllerTestCase.java",
78        "src/**/BaseEnterprisePreferenceControllerTestCase.java",
79        "src/**/BaseEnterprisePrivacyPreferenceControllerTestCase.java",
80        "src/**/BaseEnterpriseTestCase.java",
81        "src/**/DefaultDeviceAdminReceiver.java",
82        "src/**/FancyDeviceAdminReceiver.java",
83        "src/**/BaseSettingsQCItemTestCase.java",
84        "src/**/BrightnessSliderTestCase.java",
85        "src/**/MobileDataBaseWorkerTestCase.java",
86        "src/**/QCTestUtils.java",
87        "src/**/TestSettingsQCBackgroundWorker.java",
88        "src/**/TestSettingsQCItem.java",
89        "src/**/VolumeSliderTestCase.java",
90        "src/**/WifiBaseWorkerTestCase.java",
91        "src/**/FactoryResetFragmentTestCase.java",
92        "src/**/LegalPreferenceControllerTestCase.java",
93        "src/**/BaseCarSettingsTestActivity.java",
94        "src/**/BaseTestSettingsFragment.java",
95        "src/**/BluetoothTestUtils.java",
96        "src/**/DialogTestUtils.java",
97        "src/**/DualPaneTestActivity.java",
98        "src/**/EmptySettingsFragment.java",
99        "src/**/EnterpriseTestUtils.java",
100        "src/**/PollingCheck.java",
101        "src/**/ResourceTestUtils.java",
102        "src/**/RootTestSettingsFragment.java",
103        "src/**/SinglePaneTestActivity.java",
104        "src/**/TestContentProvider.java",
105        "src/**/TestEventListener.java",
106        "src/**/TestFinishActivity.java",
107        "src/**/TestLifecycleOwner.java",
108        "src/**/TestSettingsFragment1.java",
109        "src/**/TestSettingsFragment2.java",
110        "src/**/TestSettingsScreenLockActivity.java",
111        "src/**/TestTopLevelMenuFragment.java",
112        "src/**/TextDrawable.java",
113        "src/**/WifiDetailsBasePreferenceControllerTestCase.java",
114        ":CarSettingsShadows-srcs",
115    ],
116    libs: [
117        "android.car.test.utils",
118        "android.car",
119        "android.test.base.stubs.system",
120        "android.test.mock.stubs.system",
121        "android.test.runner.stubs.system",
122        "android.test.runner.stubs.system",
123        "androidx.test.core",
124        "androidx.test.ext.junit",
125        "androidx.test.ext.truth",
126        "androidx.test.rules",
127        "androidx.test.runner",
128        "car-helper-lib",
129        "flag-junit",
130        "inline-mockito-robolectric-prebuilt",
131        "mockito-kotlin2",
132        "mockito-target-extended-minus-junit4",
133        "platform-test-annotations",
134        "testng",
135        "truth",
136    ],
137    java_resource_dirs: ["config"],
138    instrumentation_for: "CarSettingsAppForMultivalentTesting",
139    test_options: {
140        timeout: 36000,
141    },
142    upstream: true,
143    strict_mode: false,
144    test_config: "CarSettingsMultivalentRoboTests-AndroidTest.xml",
145}
146
147android_test {
148    name: "CarSettingsMultivalentDeviceTests",
149    certificate: "platform",
150    privileged: true,
151    srcs: [
152        "src/**/*.kt",
153        "src/**/*.java",
154    ],
155    libs: [
156        "android.test.runner.stubs.system",
157        "android.test.base.stubs.system",
158        "android.test.mock.stubs.system",
159    ],
160    static_libs: [
161        "CarSettingsLibForDeviceTesting",
162        "android.car",
163        "android.car.test.utils",
164        "androidx.test.core",
165        "androidx.test.rules",
166        "androidx.test.ext.junit",
167        "androidx.test.ext.truth",
168        "flag-junit",
169        "mockito-kotlin2",
170        "mockito-target-extended-minus-junit4",
171        "platform-test-annotations",
172        "truth",
173        "testng",
174        "car-helper-lib",
175        "collector-device-lib-platform",
176    ],
177    jni_libs: [
178        "libdexmakerjvmtiagent",
179        "libstaticjvmtiagent",
180    ],
181    aaptflags: ["--extra-packages com.android.car.settings"],
182    test_suites: [
183        "device-tests",
184        "automotive-tests",
185    ],
186    compile_multilib: "64",
187    // TODO(b/319708040): re-enable use_resource_processor
188    use_resource_processor: false,
189    test_config: "CarSettingsMultivalentDeviceTests-AndroidTest.xml",
190}
191
192/* Future Ravenwood tests can be added like this if required.
193android_ravenwood_test {
194    name: "CarSettingsMultivalentRavenTests",
195    srcs: [],
196}
197*/
198