// Copyright 2020 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_automotive",
    default_applicable_licenses: ["Android-Apache-2.0"],
}

cc_defaults {
    name: "evs_fuzz_default",

    defaults: ["android.automotive.evs.manager_defaults"],

    static_libs: [
        "libevsmanager_static",
        "libgmock",
        "libgtest",
    ],

    shared_libs: [
        "android.hardware.automotive.evs@1.0",
        "android.hardware.automotive.evs@1.1",
        "libbase",
        "libcamera_metadata",
        "libcutils",
        "libhardware",
        "libhidlbase",
        "libprocessgroup",
        "libsync",
        "libui",
        "libutils",
    ],

    cflags: [
        "-Wno-unused-parameter",
    ],

    fuzz_config: {
        cc: [
            "aae-engprod-fuzz@google.com",
            "changyeon@google.com",
        ],
        // Android > Automotive > Embedded > Test Bugs
        componentid: 162915,
        // aae-fuzz-bugs
        hotlists: ["1986127"],
        libfuzzer_options: [
            "timeout=120",
        ],
    },
}

cc_fuzz {
    name: "evs_halcamera_fuzzer",
    srcs: [
        "HalCameraFuzzer.cpp",
    ],
    defaults: ["evs_fuzz_default"],
}

cc_fuzz {
    name: "evs_virtual_camera_fuzzer",
    srcs: [
        "VirtualCameraFuzzer.cpp",
    ],
    defaults: ["evs_fuzz_default"],
    fuzz_config: {
        libfuzzer_options: [
            "max_len=4096",
        ],
    },
}

cc_fuzz {
    name: "evs_haldisplay_fuzzer",
    srcs: [
        "HalDisplayFuzzer.cpp",
    ],
    defaults: ["evs_fuzz_default"],
}
