// Copyright (C) 2021 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 { default_team: "trendy_team_input_framework", // 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_defaults { name: "inputflinger_fuzz_defaults", defaults: [ "inputflinger_defaults", "libinputflinger_defaults", ], host_supported: true, include_dirs: [ "frameworks/native/services/inputflinger", ], shared_libs: [ "libinputreader", "libinputflinger_base", ], sanitize: { hwaddress: true, undefined: true, all_undefined: true, diag: { undefined: true, }, }, target: { host: { sanitize: { address: true, }, }, }, header_libs: [ "libbatteryservice_headers", "libinputreader_headers", ], fuzz_config: { cc: ["android-framework-input@google.com"], componentid: 155276, hotlists: [ "4593311", ], description: "The fuzzer targets the APIs of libinputflinger library", vector: "local_no_privileges_required", service_privilege: "privileged", users: "multi_user", fuzzed_code_usage: "shipped", }, } cc_fuzz { name: "inputflinger_cursor_input_fuzzer", defaults: [ "inputflinger_fuzz_defaults", ], srcs: [ "CursorInputFuzzer.cpp", ], } cc_fuzz { name: "inputflinger_keyboard_input_fuzzer", defaults: [ "inputflinger_fuzz_defaults", ], srcs: [ "KeyboardInputFuzzer.cpp", ], } cc_fuzz { name: "inputflinger_multitouch_input_fuzzer", defaults: [ "inputflinger_fuzz_defaults", ], srcs: [ "MultiTouchInputFuzzer.cpp", ], } cc_fuzz { name: "inputflinger_switch_input_fuzzer", defaults: [ "inputflinger_fuzz_defaults", ], srcs: [ "SwitchInputFuzzer.cpp", ], } cc_fuzz { name: "inputflinger_touchpad_input_fuzzer", defaults: [ "inputflinger_fuzz_defaults", ], srcs: [ "TouchpadInputFuzzer.cpp", ], static_libs: [ "libchrome-gestures", ], header_libs: [ "libchrome-gestures_headers", ], } cc_fuzz { name: "inputflinger_input_reader_fuzzer", defaults: [ "inputflinger_fuzz_defaults", ], srcs: [ "InputReaderFuzzer.cpp", ], } cc_fuzz { name: "inputflinger_blocking_queue_fuzzer", defaults: [ "inputflinger_fuzz_defaults", ], srcs: [ "BlockingQueueFuzzer.cpp", ], } cc_fuzz { name: "inputflinger_input_classifier_fuzzer", defaults: [ "inputflinger_fuzz_defaults", ], srcs: [ "InputClassifierFuzzer.cpp", ], } cc_fuzz { name: "inputflinger_latencytracker_fuzzer", defaults: [ "inputflinger_fuzz_defaults", "libinputdispatcher_defaults", ], shared_libs: [ "libinputreporter", ], srcs: [ "LatencyTrackerFuzzer.cpp", ], } cc_fuzz { name: "inputflinger_input_dispatcher_fuzzer", defaults: [ "inputflinger_fuzz_defaults", "libinputdispatcher_defaults", ], shared_libs: [ "libinputreporter", ], static_libs: [ "libgmock", "libgtest", ], srcs: [ ":inputdispatcher_common_test_sources", "InputDispatcherFuzzer.cpp", ], }