blob: 5daa398545a450a47415760e3d206aefe13ec3a3 [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"],
22}
23
Alec Mourie5eb7de2022-01-15 00:34:20 +000024filegroup {
25 name: "libsurfaceflinger_mock_sources",
26 srcs: [
Matt Buckley57274052022-08-12 21:54:23 +000027 "mock/DisplayHardware/MockAidlPowerHalWrapper.cpp",
Alec Mourie5eb7de2022-01-15 00:34:20 +000028 "mock/DisplayHardware/MockComposer.cpp",
29 "mock/DisplayHardware/MockHWC2.cpp",
Xiang Wange12b4fa2022-03-25 23:48:40 +000030 "mock/DisplayHardware/MockIPower.cpp",
31 "mock/DisplayHardware/MockIPowerHintSession.cpp",
Alec Mourie5eb7de2022-01-15 00:34:20 +000032 "mock/DisplayHardware/MockPowerAdvisor.cpp",
33 "mock/MockEventThread.cpp",
34 "mock/MockFrameTimeline.cpp",
35 "mock/MockFrameTracer.cpp",
36 "mock/MockNativeWindowSurface.cpp",
Alec Mourie5eb7de2022-01-15 00:34:20 +000037 "mock/MockTimeStats.cpp",
38 "mock/MockVsyncController.cpp",
39 "mock/MockVSyncTracker.cpp",
40 "mock/system/window/MockNativeWindow.cpp",
41 ],
42}
43
Lloyd Piquef58625d2017-12-19 13:22:33 -080044cc_test {
45 name: "libsurfaceflinger_unittest",
rnlee756005b2021-05-27 10:46:36 -070046 defaults: [
Vishnu Nair4df8eb62022-02-17 15:32:02 -080047 "libsurfaceflinger_mocks_defaults",
rnlee756005b2021-05-27 10:46:36 -070048 "skia_renderengine_deps",
49 "surfaceflinger_defaults",
50 ],
Lloyd Piquef58625d2017-12-19 13:22:33 -080051 test_suites: ["device-tests"],
Lloyd Piquee967d482018-08-31 11:04:49 -070052 sanitize: {
53 // Using the address sanitizer not only helps uncover issues in the code
54 // covered by the tests, but also covers some of the tricky injection of
55 // fakes the unit tests currently do.
Lloyd Pique70d91362018-10-18 16:02:55 -070056 //
57 // Note: If you get an runtime link error like:
58 //
59 // CANNOT LINK EXECUTABLE "/data/local/tmp/libsurfaceflinger_unittest": library "libclang_rt.asan-aarch64-android.so" not found
60 //
61 // it is because the address sanitizer shared objects are not installed
62 // by default in the system image.
63 //
64 // You can either "make dist tests" before flashing, or set this
65 // option to false temporarily.
Lloyd Piquee967d482018-08-31 11:04:49 -070066 address: true,
67 },
Lloyd Piquef58625d2017-12-19 13:22:33 -080068 srcs: [
Alec Mourie5eb7de2022-01-15 00:34:20 +000069 ":libsurfaceflinger_mock_sources",
Lloyd Piquef58625d2017-12-19 13:22:33 -080070 ":libsurfaceflinger_sources",
Lloyd Pique067fe1e2018-12-06 19:44:13 -080071 "libsurfaceflinger_unittest_main.cpp",
Xiang Wange12b4fa2022-03-25 23:48:40 +000072 "AidlPowerHalWrapperTest.cpp",
Valerie Hau64499682019-04-10 11:04:29 -070073 "CachingTest.cpp",
Mikael Pessa2e1608f2019-07-19 11:25:35 -070074 "CompositionTest.cpp",
Ady Abraham50c202a2019-03-14 11:44:38 -070075 "DispSyncSourceTest.cpp",
Marin Shalamanov0f10d0d2020-08-06 20:04:06 +020076 "DisplayIdGeneratorTest.cpp",
Lloyd Piquef58625d2017-12-19 13:22:33 -080077 "DisplayTransactionTest.cpp",
Marin Shalamanov07b1ff32020-10-07 16:57:22 +020078 "DisplayDevice_GetBestColorModeTest.cpp",
Ady Abraham690f4612021-07-01 23:24:03 -070079 "DisplayDevice_InitiateModeChange.cpp",
Alec Mouricdf16792021-12-10 13:16:06 -080080 "DisplayDevice_SetDisplayBrightnessTest.cpp",
Marin Shalamanov07b1ff32020-10-07 16:57:22 +020081 "DisplayDevice_SetProjectionTest.cpp",
Lloyd Pique24b0a482018-03-09 18:52:26 -080082 "EventThreadTest.cpp",
rnlee81d32602021-07-27 13:24:07 -070083 "FlagManagerTest.cpp",
Alec Mouriadebf5c2021-01-05 12:57:36 -080084 "FpsReporterTest.cpp",
Marin Shalamanove8a663d2020-11-24 17:48:00 +010085 "FpsTest.cpp",
Marin Shalamanov4a92f552021-03-29 18:38:27 +020086 "FramebufferSurfaceTest.cpp",
Andy Yud6a36202022-01-26 04:08:22 -080087 "FrameRateOverrideMappingsTest.cpp",
Adithya Srinivasanf279e042020-08-17 14:56:27 -070088 "FrameTimelineTest.cpp",
Adithya Srinivasanac977e62021-05-21 22:50:56 +000089 "GameModeTest.cpp",
Lloyd Pique4603f3c2020-02-11 12:06:56 -080090 "HWComposerTest.cpp",
Ana Krulecf2c006d2019-06-21 15:37:07 -070091 "OneShotTimerTest.cpp",
Marin Shalamanov1bc43ee2020-11-20 16:56:52 +010092 "LayerHistoryTest.cpp",
Marin Shalamanov2045d5b2020-12-28 18:11:41 +010093 "LayerInfoTest.cpp",
Evan Rosky1f6d6d52018-12-06 10:47:26 -080094 "LayerMetadataTest.cpp",
Garfield Tan23202892022-03-02 16:10:21 -080095 "LayerTest.cpp",
96 "LayerTestUtils.cpp",
Ady Abraham55fa7272020-09-30 19:19:27 -070097 "MessageQueueTest.cpp",
Matt Buckley57274052022-08-12 21:54:23 +000098 "PowerAdvisorTest.cpp",
Marin Shalamanov07b1ff32020-10-07 16:57:22 +020099 "SurfaceFlinger_CreateDisplayTest.cpp",
100 "SurfaceFlinger_DestroyDisplayTest.cpp",
Marin Shalamanovc7e9f822021-11-16 20:07:55 +0100101 "SurfaceFlinger_DisplayModeSwitching.cpp",
Dominik Laskowski9e168db2021-05-27 16:05:12 -0700102 "SurfaceFlinger_DisplayTransactionCommitTest.cpp",
Marin Shalamanov07b1ff32020-10-07 16:57:22 +0200103 "SurfaceFlinger_GetDisplayNativePrimariesTest.cpp",
Dominik Laskowski0deb06e2021-04-16 23:18:31 -0700104 "SurfaceFlinger_HotplugTest.cpp",
Dominik Laskowski9e168db2021-05-27 16:05:12 -0700105 "SurfaceFlinger_NotifyPowerBoostTest.cpp",
Marin Shalamanov07b1ff32020-10-07 16:57:22 +0200106 "SurfaceFlinger_OnInitializeDisplaysTest.cpp",
Xiang Wang839fe5b2022-04-04 17:39:38 +0000107 "SurfaceFlinger_PowerHintTest.cpp",
Marin Shalamanov07b1ff32020-10-07 16:57:22 +0200108 "SurfaceFlinger_SetDisplayStateTest.cpp",
109 "SurfaceFlinger_SetPowerModeInternalTest.cpp",
110 "SurfaceFlinger_SetupNewDisplayDeviceInternalTest.cpp",
Vishnu Nair0a4fb002022-08-08 02:40:42 +0000111 "SurfaceFlinger_UpdateLayerMetadataSnapshotTest.cpp",
Ana Krulec0c8cd522018-08-31 12:27:28 -0700112 "SchedulerTest.cpp",
Ady Abraham60e42ea2020-03-09 19:17:31 -0700113 "SetFrameRateTest.cpp",
Dominik Laskowskid82e0f02022-10-26 15:23:04 -0400114 "RefreshRateSelectorTest.cpp",
Ana Krulecc84d09b2019-11-02 23:10:29 +0100115 "RefreshRateSelectionTest.cpp",
Ana Krulec4593b692019-01-11 22:07:25 -0800116 "RefreshRateStatsTest.cpp",
Kevin DuBoisbb27bcd2019-04-02 14:34:35 -0700117 "RegionSamplingTest.cpp",
Yiwei Zhang16faa5d2018-11-13 18:12:59 -0800118 "TimeStatsTest.cpp",
Mikael Pessa90092f42019-08-26 17:22:04 -0700119 "FrameTracerTest.cpp",
Valerie Haud251afb2019-03-29 14:19:02 -0700120 "TransactionApplicationTest.cpp",
Adithya Srinivasanb238cd52021-02-04 17:54:05 +0000121 "TransactionFrameTracerTest.cpp",
Vishnu Nair6b591152021-10-08 11:45:14 -0700122 "TransactionProtoParserTest.cpp",
Adithya Srinivasanb9a7dab2021-01-14 23:49:46 +0000123 "TransactionSurfaceFrameTest.cpp",
Vishnu Nair7891e962021-11-11 12:07:21 -0800124 "TransactionTracingTest.cpp",
Galia Peycheva8f04b302021-04-27 13:25:38 +0200125 "TunnelModeEnabledReporterTest.cpp",
Kevin DuBoisa41be6a2019-09-09 11:06:33 -0700126 "StrongTypingTest.cpp",
Kevin DuBoise4f27a82019-11-12 11:41:41 -0800127 "VSyncDispatchTimerQueueTest.cpp",
Kevin DuBoiscc27b502019-11-13 09:40:07 -0800128 "VSyncDispatchRealtimeTest.cpp",
Dominik Laskowskia93a5312020-07-23 15:10:03 -0700129 "VsyncModulatorTest.cpp",
Kevin DuBois1678e2c2019-08-22 12:26:24 -0700130 "VSyncPredictorTest.cpp",
Kevin DuBoisb2501ba2019-11-12 14:20:29 -0800131 "VSyncReactorTest.cpp",
Ady Abrahamc581d3c2020-08-06 17:34:27 -0700132 "VsyncConfigurationTest.cpp",
Lloyd Piquef58625d2017-12-19 13:22:33 -0800133 ],
Vishnu Nair4df8eb62022-02-17 15:32:02 -0800134}
135
136cc_defaults {
137 name: "libsurfaceflinger_mocks_defaults",
Sally Qi6920a2f2022-08-26 10:40:05 -0700138 defaults: [
139 "android.hardware.graphics.common-ndk_static",
140 "android.hardware.graphics.composer3-ndk_static",
141 ],
Lloyd Piquef58625d2017-12-19 13:22:33 -0800142 static_libs: [
Ady Abrahame7385f72021-09-05 00:54:25 -0700143 "android.hardware.common-V2-ndk",
144 "android.hardware.common.fmq-V1-ndk",
Vishnu Nairdf6a4f62020-11-11 20:25:34 -0800145 "android.hardware.graphics.composer@2.1",
146 "android.hardware.graphics.composer@2.2",
147 "android.hardware.graphics.composer@2.3",
148 "android.hardware.graphics.composer@2.4",
149 "android.hardware.power@1.0",
150 "android.hardware.power@1.1",
151 "android.hardware.power@1.2",
152 "android.hardware.power@1.3",
Matt Buckley06f299a2021-09-24 19:43:51 +0000153 "android.hardware.power-V2-cpp",
Ady Abrahame7385f72021-09-05 00:54:25 -0700154 "libaidlcommonsupport",
Lloyd Pique70d91362018-10-18 16:02:55 -0700155 "libcompositionengine_mocks",
Vishnu Nairdf6a4f62020-11-11 20:25:34 -0800156 "libcompositionengine",
Adithya Srinivasanf279e042020-08-17 14:56:27 -0700157 "libframetimeline",
Vishnu Nairdf6a4f62020-11-11 20:25:34 -0800158 "libgmock",
Lloyd Pique1ebe0902019-10-04 14:47:13 -0700159 "libgui_mocks",
Vishnu Nairdf6a4f62020-11-11 20:25:34 -0800160 "liblayers_proto",
Mikael Pessa2e1608f2019-07-19 11:25:35 -0700161 "libperfetto_client_experimental",
Vishnu Nairdf6a4f62020-11-11 20:25:34 -0800162 "librenderengine",
Dominik Laskowskif6b4ba62021-11-09 12:46:10 -0800163 "librenderengine_mocks",
164 "libscheduler",
Vishnu Nairdf6a4f62020-11-11 20:25:34 -0800165 "libserviceutils",
166 "libtimestats",
Tej Singhe2751772021-04-06 22:05:29 -0700167 "libtimestats_atoms_proto",
Vishnu Nairdf6a4f62020-11-11 20:25:34 -0800168 "libtimestats_proto",
Alec Mouri465b2962021-10-08 16:22:21 -0700169 "libtonemap",
Mikael Pessa2e1608f2019-07-19 11:25:35 -0700170 "perfetto_trace_protos",
171 ],
172 shared_libs: [
Vishnu Nairdf6a4f62020-11-11 20:25:34 -0800173 "android.hardware.configstore-utils",
174 "android.hardware.configstore@1.0",
175 "android.hardware.configstore@1.1",
176 "android.hardware.graphics.allocator@2.0",
177 "android.hardware.graphics.allocator@3.0",
178 "android.hardware.graphics.common@1.2",
Vishnu Nairdf6a4f62020-11-11 20:25:34 -0800179 "libbase",
180 "libbinder",
Ady Abrahame7385f72021-09-05 00:54:25 -0700181 "libbinder_ndk",
Vishnu Nairdf6a4f62020-11-11 20:25:34 -0800182 "libcutils",
183 "libEGL",
184 "libfmq",
185 "libGLESv1_CM",
186 "libGLESv2",
187 "libgui",
188 "libhidlbase",
189 "libinput",
190 "liblog",
191 "libnativewindow",
192 "libprocessgroup",
193 "libprotobuf-cpp-lite",
Vishnu Nairdf6a4f62020-11-11 20:25:34 -0800194 "libSurfaceFlingerProp",
195 "libsync",
196 "libui",
197 "libutils",
rnlee81d32602021-07-27 13:24:07 -0700198 "server_configurable_flags",
Lloyd Piquef58625d2017-12-19 13:22:33 -0800199 ],
200 header_libs: [
Dominik Laskowski4e0d20d2021-12-06 11:31:02 -0800201 "android.hardware.graphics.composer3-command-buffer",
Vishnu Nairdf6a4f62020-11-11 20:25:34 -0800202 "android.hardware.graphics.composer@2.1-command-buffer",
203 "android.hardware.graphics.composer@2.2-command-buffer",
204 "android.hardware.graphics.composer@2.3-command-buffer",
205 "android.hardware.graphics.composer@2.4-command-buffer",
Dominik Laskowski4e0d20d2021-12-06 11:31:02 -0800206 "libscheduler_test_headers",
Lloyd Piquef58625d2017-12-19 13:22:33 -0800207 "libsurfaceflinger_headers",
208 ],
209}
Vishnu Nair4df8eb62022-02-17 15:32:02 -0800210
211cc_library_headers {
212 name: "libsurfaceflinger_mocks_headers",
213 export_include_dirs: ["."],
214}