blob: ad31a400a934ee06077847b6cad4e768a74a9b93 [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
15cc_test {
16 name: "libsurfaceflinger_unittest",
Lloyd Piquef58625d2017-12-19 13:22:33 -080017 defaults: ["libsurfaceflinger_defaults"],
18 test_suites: ["device-tests"],
Lloyd Piquee967d482018-08-31 11:04:49 -070019 sanitize: {
20 // Using the address sanitizer not only helps uncover issues in the code
21 // covered by the tests, but also covers some of the tricky injection of
22 // fakes the unit tests currently do.
Lloyd Pique70d91362018-10-18 16:02:55 -070023 //
24 // Note: If you get an runtime link error like:
25 //
26 // CANNOT LINK EXECUTABLE "/data/local/tmp/libsurfaceflinger_unittest": library "libclang_rt.asan-aarch64-android.so" not found
27 //
28 // it is because the address sanitizer shared objects are not installed
29 // by default in the system image.
30 //
31 // You can either "make dist tests" before flashing, or set this
32 // option to false temporarily.
Lloyd Piquee967d482018-08-31 11:04:49 -070033 address: true,
34 },
Lloyd Piquef58625d2017-12-19 13:22:33 -080035 srcs: [
36 ":libsurfaceflinger_sources",
Lloyd Pique067fe1e2018-12-06 19:44:13 -080037 "libsurfaceflinger_unittest_main.cpp",
Lloyd Piqued6b579f2018-04-06 15:29:10 -070038 "CompositionTest.cpp",
Dominik Laskowskie9ef7c42018-03-12 19:34:30 -070039 "DisplayIdentificationTest.cpp",
Lloyd Piquef58625d2017-12-19 13:22:33 -080040 "DisplayTransactionTest.cpp",
Lloyd Pique117510d2018-03-09 18:52:56 -080041 "EventControlThreadTest.cpp",
Lloyd Pique24b0a482018-03-09 18:52:26 -080042 "EventThreadTest.cpp",
Ana Krulecfb772822018-11-30 10:44:07 +010043 "IdleTimerTest.cpp",
Ana Krulec61f86db2018-11-19 14:16:35 +010044 "LayerHistoryTest.cpp",
Ana Krulec0c8cd522018-08-31 12:27:28 -070045 "SchedulerTest.cpp",
Ana Krulec434c22d2018-11-28 13:48:36 +010046 "SchedulerUtilsTest.cpp",
Yiwei Zhang16faa5d2018-11-13 18:12:59 -080047 "TimeStatsTest.cpp",
Lloyd Piquecbe00012018-02-02 15:40:42 -080048 "mock/DisplayHardware/MockComposer.cpp",
Michael Wright5d22d4f2018-06-21 02:50:34 +010049 "mock/DisplayHardware/MockPowerAdvisor.cpp",
Lloyd Piquecbe00012018-02-02 15:40:42 -080050 "mock/gui/MockGraphicBufferConsumer.cpp",
51 "mock/gui/MockGraphicBufferProducer.cpp",
Lloyd Pique41be5d22018-06-21 13:11:48 -070052 "mock/MockDispSync.cpp",
Lloyd Piquecbe00012018-02-02 15:40:42 -080053 "mock/MockEventControlThread.cpp",
54 "mock/MockEventThread.cpp",
55 "mock/MockMessageQueue.cpp",
56 "mock/MockNativeWindowSurface.cpp",
57 "mock/MockSurfaceInterceptor.cpp",
Lloyd Piquecbe00012018-02-02 15:40:42 -080058 "mock/system/window/MockNativeWindow.cpp",
Lloyd Piquef58625d2017-12-19 13:22:33 -080059 ],
60 static_libs: [
61 "libgmock",
Lloyd Pique70d91362018-10-18 16:02:55 -070062 "libcompositionengine",
63 "libcompositionengine_mocks",
Lloyd Pique3823e7b2018-10-18 16:58:10 -070064 "librenderengine_mocks",
Lloyd Piquef58625d2017-12-19 13:22:33 -080065 ],
66 header_libs: [
67 "libsurfaceflinger_headers",
68 ],
69}