package {
    // See: http://go/android-license-faq
    // A large-scale-change added 'default_applicable_licenses' to import
    // all of the 'license_kinds' from "system_bt_license"
    // to get the below license kinds:
    //   SPDX-license-identifier-Apache-2.0
    //   SPDX-license-identifier-BSD
    default_applicable_licenses: ["system_bt_license"],
}

cc_defaults {
    // Needs to come first in the default list for tests, hence the prefix
    name: "_fuzzer_validation_test_default",
    defaults: ["mts_defaults"],
    host_supported: true,
    test_suites: ["general-tests"],
    local_include_dirs: [
        "include",
    ],
    srcs: [
        ":TestMockStackA2dp",
        "fuzzer_validation_test.cc",
    ],
    strip: {
        none: true,
    },
    target: {
        android: {
            sanitize: {
                hwaddress: true,
            },
            test_config_template: "FuzzerValidationTestTemplate.xml",
        },
        host: {
            sanitize: {
                address: true,
            },
            test_config_template: "FuzzerValidationHostTestTemplate.xml",
        },
    },
}

filegroup {
    name: "rfcomm-fuzzer-corpus",
    srcs: ["data/rfcomm_corpus.zip"],
}

filegroup {
    name: "sdp-fuzzer-corpus",
    srcs: ["data/sdp_corpus.zip"],
}

filegroup {
    name: "gatt-fuzzer-corpus",
    srcs: ["data/gatt_corpus.zip"],
}

filegroup {
    name: "smp-fuzzer-corpus",
    srcs: ["data/smp_corpus.zip"],
}

filegroup {
    name: "avrc-fuzzer-corpus",
    srcs: ["data/avrc_corpus.zip"],
}

filegroup {
    name: "bnep-fuzzer-corpus",
    srcs: ["data/bnep_corpus.zip"],
}

filegroup {
    name: "l2cap-fuzzer-corpus",
    srcs: ["data/l2cap_corpus.zip"],
}

cc_test {
    name: "rfcomm-fuzzer-validation-test",
    defaults: [
        "_fuzzer_validation_test_default",
        "rfcomm_fuzzer_default",
    ],
    data: [":rfcomm-fuzzer-corpus"],
    srcs: [
        "rfcomm_fuzzer_validation_test.cc",
    ],
}

cc_test {
    name: "sdp-fuzzer-validation-test",
    defaults: [
        "_fuzzer_validation_test_default",
        "sdp_fuzzer_default",
    ],
    data: [":sdp-fuzzer-corpus"],
    srcs: [
        "sdp_fuzzer_validation_test.cc",
    ],
}

cc_test {
    name: "gatt-fuzzer-validation-test",
    defaults: [
        "_fuzzer_validation_test_default",
        "gatt_fuzzer_default",
    ],
    data: [":gatt-fuzzer-corpus"],
    srcs: [
        "gatt_fuzzer_validation_test.cc",
    ],
}

cc_test {
    name: "smp-fuzzer-validation-test",
    defaults: [
        "_fuzzer_validation_test_default",
        "smp_fuzzer_default",
    ],
    data: [":smp-fuzzer-corpus"],
    srcs: [
        "smp_fuzzer_validation_test.cc",
    ],
}

cc_test {
    name: "avrc-fuzzer-validation-test",
    defaults: [
        "_fuzzer_validation_test_default",
        "avrc_fuzzer_default",
    ],
    host_supported: false, // Seems to fail on ASAN-ized host build but not hwasan-ized device.
    data: [":avrc-fuzzer-corpus"],
    srcs: [
        "avrc_fuzzer_validation_test.cc",
    ],
}

cc_test {
    name: "bnep-fuzzer-validation-test",
    defaults: [
        "_fuzzer_validation_test_default",
        "bnep_fuzzer_default",
    ],
    data: [":bnep-fuzzer-corpus"],
    srcs: [
        "bnep_fuzzer_validation_test.cc",
    ],
}

cc_test {
    name: "l2cap-fuzzer-validation-test",
    defaults: [
        "_fuzzer_validation_test_default",
        "l2cap_fuzzer_default",
    ],
    data: [":l2cap-fuzzer-corpus"],
    srcs: [
        "l2cap_fuzzer_validation_test.cc",
    ],
}
