blob: 8269fcbc2d83c3ba080ea89343a650e39fd3fb22 [file] [log] [blame]
Lloyd Piquee967d482018-08-31 11:04:49 -07001// Copyright 2018 The Android Open Source Project
Lloyd Piquef58625d2017-12-19 13:22:33 -08002//
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
Bob Badour3306e492021-02-25 15:35:37 -080015package {
16 // See: http://go/android-license-faq
17 // A large-scale-change added 'default_applicable_licenses' to import
18 // all of the 'license_kinds' from "frameworks_native_license"
19 // to get the below license kinds:
20 // SPDX-license-identifier-Apache-2.0
21 default_applicable_licenses: ["frameworks_native_license"],
John Reck38bc8a82024-02-21 17:08:27 -050022 default_team: "trendy_team_android_core_graphics_stack",
Bob Badour3306e492021-02-25 15:35:37 -080023}
24
Lloyd Piquee98286f2024-09-16 16:23:24 -070025// This is a step towards pulling out the "backend" sources to clean up the
26// dependency graph between CompositionEngine and SurfaceFlinger.
27// MockNativeWindow doesn't strictly belong here, but this works for now so
28// that CompositionEngine tests can use these mocks.
Alec Mourie5eb7de2022-01-15 00:34:20 +000029filegroup {
Lloyd Piquee98286f2024-09-16 16:23:24 -070030 name: "libsurfaceflinger_backend_mock_sources",
Alec Mourie5eb7de2022-01-15 00:34:20 +000031 srcs: [
32 "mock/DisplayHardware/MockComposer.cpp",
33 "mock/DisplayHardware/MockHWC2.cpp",
Lloyd Piquee98286f2024-09-16 16:23:24 -070034 "mock/DisplayHardware/MockHWComposer.cpp",
Xiang Wange12b4fa2022-03-25 23:48:40 +000035 "mock/DisplayHardware/MockIPower.cpp",
Matt Buckley6c18e6d2024-02-07 23:39:50 +000036 "mock/DisplayHardware/MockPowerHintSessionWrapper.cpp",
Alec Mourie5eb7de2022-01-15 00:34:20 +000037 "mock/DisplayHardware/MockPowerAdvisor.cpp",
Lloyd Piquee98286f2024-09-16 16:23:24 -070038 "mock/DisplayHardware/MockPowerHalController.cpp",
39 "mock/system/window/MockNativeWindow.cpp",
40 ],
41}
42
43cc_library_headers {
44 name: "libsurfaceflinger_backend_mock_headers",
45 export_include_dirs: ["."],
46 static_libs: [
47 "libgmock",
48 "libgtest",
49 ],
50 export_static_lib_headers: [
51 "libgmock",
52 "libgtest",
53 ],
54}
55
56filegroup {
57 name: "libsurfaceflinger_mock_sources",
58 srcs: [
Alec Mourie5eb7de2022-01-15 00:34:20 +000059 "mock/MockEventThread.cpp",
60 "mock/MockFrameTimeline.cpp",
61 "mock/MockFrameTracer.cpp",
62 "mock/MockNativeWindowSurface.cpp",
Alec Mourie5eb7de2022-01-15 00:34:20 +000063 "mock/MockTimeStats.cpp",
64 "mock/MockVsyncController.cpp",
Ady Abraham011f8ba2022-11-22 15:09:07 -080065 "mock/MockVSyncDispatch.cpp",
Alec Mourie5eb7de2022-01-15 00:34:20 +000066 "mock/MockVSyncTracker.cpp",
Alec Mourie5eb7de2022-01-15 00:34:20 +000067 ],
68}
69
Ady Abraham529bd9f2023-10-05 14:55:30 -070070cc_aconfig_library {
71 name: "libsurfaceflingerflags_test",
72 aconfig_declarations: "surfaceflinger_flags",
Zi Wang8b7ea532023-11-09 20:14:35 -080073 mode: "test",
Ady Abraham529bd9f2023-10-05 14:55:30 -070074}
75
Lloyd Piquef58625d2017-12-19 13:22:33 -080076cc_test {
77 name: "libsurfaceflinger_unittest",
rnlee756005b2021-05-27 10:46:36 -070078 defaults: [
Vishnu Nair4df8eb62022-02-17 15:32:02 -080079 "libsurfaceflinger_mocks_defaults",
rnlee756005b2021-05-27 10:46:36 -070080 "skia_renderengine_deps",
81 "surfaceflinger_defaults",
82 ],
Lloyd Piquef58625d2017-12-19 13:22:33 -080083 test_suites: ["device-tests"],
Vishnu Nair8c5b7002023-08-17 21:03:57 -070084 static_libs: ["libc++fs"],
Vishnu Nair532d6452024-07-14 22:05:12 -070085 header_libs: ["surfaceflinger_tests_common_headers"],
Lloyd Piquef58625d2017-12-19 13:22:33 -080086 srcs: [
Lloyd Piquee98286f2024-09-16 16:23:24 -070087 ":libsurfaceflinger_backend_mock_sources",
Alec Mourie5eb7de2022-01-15 00:34:20 +000088 ":libsurfaceflinger_mock_sources",
Lloyd Piquef58625d2017-12-19 13:22:33 -080089 ":libsurfaceflinger_sources",
Lloyd Pique067fe1e2018-12-06 19:44:13 -080090 "libsurfaceflinger_unittest_main.cpp",
Leon Scroggins III85d4b222023-05-09 13:58:18 -040091 "ActiveDisplayRotationFlagsTest.cpp",
Patrick Williams13310b82023-05-17 14:40:18 -050092 "BackgroundExecutorTest.cpp",
Vishnu Nair8134c1a2023-10-17 22:55:49 -070093 "CommitTest.cpp",
Mikael Pessa2e1608f2019-07-19 11:25:35 -070094 "CompositionTest.cpp",
Isaac Chai1ec2d9a2024-04-11 20:10:34 +000095 "DaltonizerTest.cpp",
Marin Shalamanov0f10d0d2020-08-06 20:04:06 +020096 "DisplayIdGeneratorTest.cpp",
Lloyd Piquef58625d2017-12-19 13:22:33 -080097 "DisplayTransactionTest.cpp",
Marin Shalamanov07b1ff32020-10-07 16:57:22 +020098 "DisplayDevice_GetBestColorModeTest.cpp",
Alec Mouricdf16792021-12-10 13:16:06 -080099 "DisplayDevice_SetDisplayBrightnessTest.cpp",
Marin Shalamanov07b1ff32020-10-07 16:57:22 +0200100 "DisplayDevice_SetProjectionTest.cpp",
Dominik Laskowski5c989f52024-04-11 13:57:14 -0400101 "DisplayModeControllerTest.cpp",
Lloyd Pique24b0a482018-03-09 18:52:26 -0800102 "EventThreadTest.cpp",
rnlee81d32602021-07-27 13:24:07 -0700103 "FlagManagerTest.cpp",
Alec Mouriadebf5c2021-01-05 12:57:36 -0800104 "FpsReporterTest.cpp",
Marin Shalamanove8a663d2020-11-24 17:48:00 +0100105 "FpsTest.cpp",
Marin Shalamanov4a92f552021-03-29 18:38:27 +0200106 "FramebufferSurfaceTest.cpp",
Andy Yud6a36202022-01-26 04:08:22 -0800107 "FrameRateOverrideMappingsTest.cpp",
Adithya Srinivasanf279e042020-08-17 14:56:27 -0700108 "FrameTimelineTest.cpp",
Lloyd Pique4603f3c2020-02-11 12:06:56 -0800109 "HWComposerTest.cpp",
Pascal Mütschardd56514e2024-05-24 17:37:13 +0200110 "JankTrackerTest.cpp",
Ana Krulecf2c006d2019-06-21 15:37:07 -0700111 "OneShotTimerTest.cpp",
Vishnu Nair47b7bb42023-09-29 16:27:33 -0700112 "LayerHistoryIntegrationTest.cpp",
Marin Shalamanov2045d5b2020-12-28 18:11:41 +0100113 "LayerInfoTest.cpp",
Evan Rosky1f6d6d52018-12-06 10:47:26 -0800114 "LayerMetadataTest.cpp",
Vishnu Nair04f89692022-11-16 23:21:05 +0000115 "LayerHierarchyTest.cpp",
Vishnu Nairdc4d31b2022-11-17 03:20:58 +0000116 "LayerLifecycleManagerTest.cpp",
Vishnu Nair8fc721b2022-12-22 20:06:32 +0000117 "LayerSnapshotTest.cpp",
Garfield Tan23202892022-03-02 16:10:21 -0800118 "LayerTestUtils.cpp",
Ady Abraham55fa7272020-09-30 19:19:27 -0700119 "MessageQueueTest.cpp",
Matt Buckley57274052022-08-12 21:54:23 +0000120 "PowerAdvisorTest.cpp",
Tony Huang9ac5e6e2023-08-24 09:01:44 +0000121 "SmallAreaDetectionAllowMappingsTest.cpp",
Dominik Laskowski01f191c2024-01-29 11:51:23 -0500122 "SurfaceFlinger_ColorMatrixTest.cpp",
Marin Shalamanov07b1ff32020-10-07 16:57:22 +0200123 "SurfaceFlinger_CreateDisplayTest.cpp",
124 "SurfaceFlinger_DestroyDisplayTest.cpp",
Marin Shalamanovc7e9f822021-11-16 20:07:55 +0100125 "SurfaceFlinger_DisplayModeSwitching.cpp",
Dominik Laskowski9e168db2021-05-27 16:05:12 -0700126 "SurfaceFlinger_DisplayTransactionCommitTest.cpp",
Marc Kassis7887b9e2023-02-27 16:42:42 +0100127 "SurfaceFlinger_ExcludeDolbyVisionTest.cpp",
Dominik Laskowski66295432023-03-14 12:25:36 -0400128 "SurfaceFlinger_FoldableTest.cpp",
Marin Shalamanov07b1ff32020-10-07 16:57:22 +0200129 "SurfaceFlinger_GetDisplayNativePrimariesTest.cpp",
Leon Scroggins III4235ea02023-04-17 15:14:20 -0400130 "SurfaceFlinger_GetDisplayStatsTest.cpp",
Marc Kassis7887b9e2023-02-27 16:42:42 +0100131 "SurfaceFlinger_HdrOutputControlTest.cpp",
Dominik Laskowski0deb06e2021-04-16 23:18:31 -0700132 "SurfaceFlinger_HotplugTest.cpp",
Dominik Laskowskib5f40e52022-09-29 13:25:05 -0400133 "SurfaceFlinger_InitializeDisplaysTest.cpp",
ramindanic67d22c2023-11-28 14:58:47 -0800134 "SurfaceFlinger_NotifyExpectedPresentTest.cpp",
Dominik Laskowski9e168db2021-05-27 16:05:12 -0700135 "SurfaceFlinger_NotifyPowerBoostTest.cpp",
Xiang Wang839fe5b2022-04-04 17:39:38 +0000136 "SurfaceFlinger_PowerHintTest.cpp",
Marin Shalamanov07b1ff32020-10-07 16:57:22 +0200137 "SurfaceFlinger_SetDisplayStateTest.cpp",
138 "SurfaceFlinger_SetPowerModeInternalTest.cpp",
139 "SurfaceFlinger_SetupNewDisplayDeviceInternalTest.cpp",
Ana Krulec0c8cd522018-08-31 12:27:28 -0700140 "SchedulerTest.cpp",
Dominik Laskowskid82e0f02022-10-26 15:23:04 -0400141 "RefreshRateSelectorTest.cpp",
Ana Krulec4593b692019-01-11 22:07:25 -0800142 "RefreshRateStatsTest.cpp",
Kevin DuBoisbb27bcd2019-04-02 14:34:35 -0700143 "RegionSamplingTest.cpp",
Leon Scroggins III823d4ca2023-12-12 16:57:34 -0500144 "TestableScheduler.cpp",
Yiwei Zhang16faa5d2018-11-13 18:12:59 -0800145 "TimeStatsTest.cpp",
Mikael Pessa90092f42019-08-26 17:22:04 -0700146 "FrameTracerTest.cpp",
Valerie Haud251afb2019-03-29 14:19:02 -0700147 "TransactionApplicationTest.cpp",
Adithya Srinivasanb238cd52021-02-04 17:54:05 +0000148 "TransactionFrameTracerTest.cpp",
Vishnu Nair6b591152021-10-08 11:45:14 -0700149 "TransactionProtoParserTest.cpp",
Adithya Srinivasanb9a7dab2021-01-14 23:49:46 +0000150 "TransactionSurfaceFrameTest.cpp",
Vishnu Nair8c5b7002023-08-17 21:03:57 -0700151 "TransactionTraceWriterTest.cpp",
Vishnu Nair7891e962021-11-11 12:07:21 -0800152 "TransactionTracingTest.cpp",
Galia Peycheva8f04b302021-04-27 13:25:38 +0200153 "TunnelModeEnabledReporterTest.cpp",
Leon Scroggins III6c440ae2023-04-21 15:01:03 -0400154 "VSyncCallbackRegistrationTest.cpp",
Kevin DuBoise4f27a82019-11-12 11:41:41 -0800155 "VSyncDispatchTimerQueueTest.cpp",
Kevin DuBoiscc27b502019-11-13 09:40:07 -0800156 "VSyncDispatchRealtimeTest.cpp",
Dominik Laskowskia93a5312020-07-23 15:10:03 -0700157 "VsyncModulatorTest.cpp",
Kevin DuBois1678e2c2019-08-22 12:26:24 -0700158 "VSyncPredictorTest.cpp",
Kevin DuBoisb2501ba2019-11-12 14:20:29 -0800159 "VSyncReactorTest.cpp",
Ady Abrahamc581d3c2020-08-06 17:34:27 -0700160 "VsyncConfigurationTest.cpp",
Leon Scroggins III4d5db7a2023-02-13 15:24:20 -0500161 "VsyncScheduleTest.cpp",
Patrick Williams6681c022023-05-15 13:38:16 -0500162 "WindowInfosListenerInvokerTest.cpp",
Lloyd Piquef58625d2017-12-19 13:22:33 -0800163 ],
Vishnu Nair4df8eb62022-02-17 15:32:02 -0800164}
165
166cc_defaults {
167 name: "libsurfaceflinger_mocks_defaults",
Sally Qi6920a2f2022-08-26 10:40:05 -0700168 defaults: [
169 "android.hardware.graphics.common-ndk_static",
170 "android.hardware.graphics.composer3-ndk_static",
Matt Buckleycc146422023-06-28 19:14:02 +0000171 "android.hardware.power-ndk_static",
Nolan Scobie8ef7e142022-10-14 10:52:43 -0400172 "librenderengine_deps",
Matt Buckleyffc31d12024-02-28 16:51:28 +0000173 "libsurfaceflinger_common_test_deps",
Vishnu Nair6aac09e2024-07-26 21:38:58 +0000174 "libsurfaceflinger_proto_deps",
Sally Qi6920a2f2022-08-26 10:40:05 -0700175 ],
Lloyd Piquef58625d2017-12-19 13:22:33 -0800176 static_libs: [
Ady Abrahame7385f72021-09-05 00:54:25 -0700177 "android.hardware.common-V2-ndk",
178 "android.hardware.common.fmq-V1-ndk",
Vishnu Nairdf6a4f62020-11-11 20:25:34 -0800179 "android.hardware.graphics.composer@2.1",
180 "android.hardware.graphics.composer@2.2",
181 "android.hardware.graphics.composer@2.3",
182 "android.hardware.graphics.composer@2.4",
183 "android.hardware.power@1.0",
184 "android.hardware.power@1.1",
185 "android.hardware.power@1.2",
186 "android.hardware.power@1.3",
Ady Abrahame7385f72021-09-05 00:54:25 -0700187 "libaidlcommonsupport",
Lloyd Pique70d91362018-10-18 16:02:55 -0700188 "libcompositionengine_mocks",
Vishnu Nairdf6a4f62020-11-11 20:25:34 -0800189 "libcompositionengine",
Adithya Srinivasanf279e042020-08-17 14:56:27 -0700190 "libframetimeline",
Vishnu Nairdf6a4f62020-11-11 20:25:34 -0800191 "libgmock",
Lloyd Pique1ebe0902019-10-04 14:47:13 -0700192 "libgui_mocks",
Mikael Pessa2e1608f2019-07-19 11:25:35 -0700193 "libperfetto_client_experimental",
Vishnu Nairdf6a4f62020-11-11 20:25:34 -0800194 "librenderengine",
Dominik Laskowskif6b4ba62021-11-09 12:46:10 -0800195 "librenderengine_mocks",
196 "libscheduler",
Vishnu Nairdf6a4f62020-11-11 20:25:34 -0800197 "libserviceutils",
198 "libtimestats",
Tej Singhe2751772021-04-06 22:05:29 -0700199 "libtimestats_atoms_proto",
Vishnu Nairdf6a4f62020-11-11 20:25:34 -0800200 "libtimestats_proto",
Alec Mouri465b2962021-10-08 16:22:21 -0700201 "libtonemap",
Mikael Pessa2e1608f2019-07-19 11:25:35 -0700202 "perfetto_trace_protos",
203 ],
204 shared_libs: [
Vishnu Nairdf6a4f62020-11-11 20:25:34 -0800205 "android.hardware.configstore-utils",
206 "android.hardware.configstore@1.0",
207 "android.hardware.configstore@1.1",
208 "android.hardware.graphics.allocator@2.0",
209 "android.hardware.graphics.allocator@3.0",
210 "android.hardware.graphics.common@1.2",
Vishnu Nairdf6a4f62020-11-11 20:25:34 -0800211 "libbase",
212 "libbinder",
Ady Abrahame7385f72021-09-05 00:54:25 -0700213 "libbinder_ndk",
Vishnu Nairdf6a4f62020-11-11 20:25:34 -0800214 "libcutils",
215 "libEGL",
216 "libfmq",
217 "libGLESv1_CM",
218 "libGLESv2",
219 "libgui",
220 "libhidlbase",
221 "libinput",
222 "liblog",
223 "libnativewindow",
Matt Buckley0538cae2022-11-08 23:12:04 +0000224 "libpowermanager",
Vishnu Nairdf6a4f62020-11-11 20:25:34 -0800225 "libprocessgroup",
226 "libprotobuf-cpp-lite",
Alec Mourid05a7452024-09-20 13:44:02 +0000227 "libstatslog_surfaceflinger",
Vishnu Nairdf6a4f62020-11-11 20:25:34 -0800228 "libSurfaceFlingerProp",
229 "libsync",
230 "libui",
231 "libutils",
Vishnu Nair47b6e682024-07-12 18:46:07 +0000232 "libtracing_perfetto",
Lloyd Piquef58625d2017-12-19 13:22:33 -0800233 ],
234 header_libs: [
Dominik Laskowski4e0d20d2021-12-06 11:31:02 -0800235 "android.hardware.graphics.composer3-command-buffer",
Vishnu Nairdf6a4f62020-11-11 20:25:34 -0800236 "android.hardware.graphics.composer@2.1-command-buffer",
237 "android.hardware.graphics.composer@2.2-command-buffer",
238 "android.hardware.graphics.composer@2.3-command-buffer",
239 "android.hardware.graphics.composer@2.4-command-buffer",
Dominik Laskowski4e0d20d2021-12-06 11:31:02 -0800240 "libscheduler_test_headers",
Lloyd Piquef58625d2017-12-19 13:22:33 -0800241 "libsurfaceflinger_headers",
242 ],
243}
Vishnu Nair4df8eb62022-02-17 15:32:02 -0800244
245cc_library_headers {
246 name: "libsurfaceflinger_mocks_headers",
247 export_include_dirs: ["."],
248}