// Copyright 2018 The Android Open Source Project // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. cc_test { name: "libsurfaceflinger_unittest", defaults: ["libsurfaceflinger_defaults"], test_suites: ["device-tests"], sanitize: { // Using the address sanitizer not only helps uncover issues in the code // covered by the tests, but also covers some of the tricky injection of // fakes the unit tests currently do. // // Note: If you get an runtime link error like: // // CANNOT LINK EXECUTABLE "/data/local/tmp/libsurfaceflinger_unittest": library "libclang_rt.asan-aarch64-android.so" not found // // it is because the address sanitizer shared objects are not installed // by default in the system image. // // You can either "make dist tests" before flashing, or set this // option to false temporarily. address: true, }, srcs: [ ":libsurfaceflinger_sources", "libsurfaceflinger_unittest_main.cpp", "CachingTest.cpp", "CompositionTest.cpp", "DispSyncSourceTest.cpp", "DisplayIdentificationTest.cpp", "DisplayTransactionTest.cpp", "EventControlThreadTest.cpp", "EventThreadTest.cpp", "IdleTimerTest.cpp", "LayerHistoryTest.cpp", "LayerMetadataTest.cpp", "SchedulerTest.cpp", "SchedulerUtilsTest.cpp", "RefreshRateConfigsTest.cpp", "RefreshRateStatsTest.cpp", "RegionSamplingTest.cpp", "TimeStatsTest.cpp", "mock/DisplayHardware/MockComposer.cpp", "mock/DisplayHardware/MockDisplay.cpp", "mock/DisplayHardware/MockPowerAdvisor.cpp", "mock/gui/MockGraphicBufferConsumer.cpp", "mock/gui/MockGraphicBufferProducer.cpp", "mock/MockDispSync.cpp", "mock/MockEventControlThread.cpp", "mock/MockEventThread.cpp", "mock/MockMessageQueue.cpp", "mock/MockNativeWindowSurface.cpp", "mock/MockSurfaceInterceptor.cpp", "mock/MockTimeStats.cpp", "mock/system/window/MockNativeWindow.cpp", ], static_libs: [ "libgmock", "libcompositionengine", "libcompositionengine_mocks", "librenderengine_mocks", ], header_libs: [ "libsurfaceflinger_headers", ], }