// 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. package { // See: http://go/android-license-faq // A large-scale-change added 'default_applicable_licenses' to import // all of the 'license_kinds' from "frameworks_native_license" // to get the below license kinds: // SPDX-license-identifier-Apache-2.0 default_applicable_licenses: ["frameworks_native_license"], } cc_test { name: "libsurfaceflinger_unittest", defaults: ["surfaceflinger_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", "DisplayIdGeneratorTest.cpp", "DisplayTransactionTest.cpp", "DisplayDevice_GetBestColorModeTest.cpp", "DisplayDevice_SetProjectionTest.cpp", "EventThreadTest.cpp", "FpsReporterTest.cpp", "FpsTest.cpp", "FramebufferSurfaceTest.cpp", "FrameTimelineTest.cpp", "GameModeTest.cpp", "HWComposerTest.cpp", "OneShotTimerTest.cpp", "LayerHistoryTest.cpp", "LayerInfoTest.cpp", "LayerMetadataTest.cpp", "MessageQueueTest.cpp", "SurfaceFlinger_CreateDisplayTest.cpp", "SurfaceFlinger_DestroyDisplayTest.cpp", "SurfaceFlinger_GetDisplayNativePrimariesTest.cpp", "SurfaceFlinger_HandleTransactionLockedTest.cpp", "SurfaceFlinger_NotifyPowerBoostTest.cpp", "SurfaceFlinger_HotplugTest.cpp", "SurfaceFlinger_OnInitializeDisplaysTest.cpp", "SurfaceFlinger_SetDisplayStateTest.cpp", "SurfaceFlinger_SetPowerModeInternalTest.cpp", "SurfaceFlinger_SetupNewDisplayDeviceInternalTest.cpp", "SchedulerTest.cpp", "SchedulerUtilsTest.cpp", "SetFrameRateTest.cpp", "RefreshRateConfigsTest.cpp", "RefreshRateSelectionTest.cpp", "RefreshRateStatsTest.cpp", "RegionSamplingTest.cpp", "TimeStatsTest.cpp", "FrameTracerTest.cpp", "TimerTest.cpp", "TransactionApplicationTest.cpp", "TransactionFrameTracerTest.cpp", "TransactionSurfaceFrameTest.cpp", "TunnelModeEnabledReporterTest.cpp", "StrongTypingTest.cpp", "VSyncDispatchTimerQueueTest.cpp", "VSyncDispatchRealtimeTest.cpp", "VsyncModulatorTest.cpp", "VSyncPredictorTest.cpp", "VSyncReactorTest.cpp", "VsyncConfigurationTest.cpp", "mock/DisplayHardware/MockComposer.cpp", "mock/DisplayHardware/MockHWC2.cpp", "mock/DisplayHardware/MockPowerAdvisor.cpp", "mock/MockEventThread.cpp", "mock/MockFrameTimeline.cpp", "mock/MockFrameTracer.cpp", "mock/MockMessageQueue.cpp", "mock/MockNativeWindowSurface.cpp", "mock/MockSurfaceInterceptor.cpp", "mock/MockTimeStats.cpp", "mock/MockVsyncController.cpp", "mock/MockVSyncTracker.cpp", "mock/system/window/MockNativeWindow.cpp", ], static_libs: [ "android.hardware.graphics.composer@2.1", "android.hardware.graphics.composer@2.2", "android.hardware.graphics.composer@2.3", "android.hardware.graphics.composer@2.4", "android.hardware.power@1.0", "android.hardware.power@1.1", "android.hardware.power@1.2", "android.hardware.power@1.3", "android.hardware.power-V1-cpp", "libcompositionengine_mocks", "libcompositionengine", "libframetimeline", "libgmock", "libgui_mocks", "liblayers_proto", "libperfetto_client_experimental", "librenderengine_mocks", "librenderengine", "libserviceutils", "libtimestats", "libtimestats_atoms_proto", "libtimestats_proto", "libtrace_proto", "perfetto_trace_protos", ], shared_libs: [ "android.hardware.configstore-utils", "android.hardware.configstore@1.0", "android.hardware.configstore@1.1", "android.hardware.graphics.allocator@2.0", "android.hardware.graphics.allocator@3.0", "android.hardware.graphics.common@1.2", "libbase", "libbinder", "libcutils", "libEGL", "libfmq", "libGLESv1_CM", "libGLESv2", "libgui", "libhidlbase", "libinput", "liblog", "libnativewindow", "libprocessgroup", "libprotobuf-cpp-lite", "libSurfaceFlingerProp", "libsync", "libui", "libutils", ], header_libs: [ "android.hardware.graphics.composer@2.1-command-buffer", "android.hardware.graphics.composer@2.2-command-buffer", "android.hardware.graphics.composer@2.3-command-buffer", "android.hardware.graphics.composer@2.4-command-buffer", "libsurfaceflinger_headers", ], }