| // 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: ["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", |
| "HWComposerTest.cpp", |
| "OneShotTimerTest.cpp", |
| "LayerHistoryTest.cpp", |
| "LayerHistoryTestV2.cpp", |
| "LayerMetadataTest.cpp", |
| "PhaseOffsetsTest.cpp", |
| "PromiseTest.cpp", |
| "SchedulerTest.cpp", |
| "SchedulerUtilsTest.cpp", |
| "SetFrameRateTest.cpp", |
| "RefreshRateConfigsTest.cpp", |
| "RefreshRateSelectionTest.cpp", |
| "RefreshRateStatsTest.cpp", |
| "RegionSamplingTest.cpp", |
| "TimeStatsTest.cpp", |
| "FrameTracerTest.cpp", |
| "TimerTest.cpp", |
| "TransactionApplicationTest.cpp", |
| "StrongTypingTest.cpp", |
| "VSyncDispatchTimerQueueTest.cpp", |
| "VSyncDispatchRealtimeTest.cpp", |
| "VSyncModulatorTest.cpp", |
| "VSyncPredictorTest.cpp", |
| "VSyncReactorTest.cpp", |
| "mock/DisplayHardware/MockComposer.cpp", |
| "mock/DisplayHardware/MockDisplay.cpp", |
| "mock/DisplayHardware/MockPowerAdvisor.cpp", |
| "mock/MockDispSync.cpp", |
| "mock/MockEventControlThread.cpp", |
| "mock/MockEventThread.cpp", |
| "mock/MockMessageQueue.cpp", |
| "mock/MockNativeWindowSurface.cpp", |
| "mock/MockSurfaceInterceptor.cpp", |
| "mock/MockTimeStats.cpp", |
| "mock/MockFrameTracer.cpp", |
| "mock/system/window/MockNativeWindow.cpp", |
| ], |
| static_libs: [ |
| "libgmock", |
| "libcompositionengine", |
| "libcompositionengine_mocks", |
| "libgui_mocks", |
| "libperfetto_client_experimental", |
| "librenderengine_mocks", |
| "perfetto_trace_protos", |
| ], |
| shared_libs: [ |
| "libprotoutil", |
| "libstatssocket", |
| "libsurfaceflinger", |
| "libtimestats", |
| "libtimestats_proto", |
| ], |
| header_libs: [ |
| "libsurfaceflinger_headers", |
| ], |
| } |