//
// Copyright (C) 2019 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_applicable_licenses: ["Android-Apache-2.0"],
}

cc_defaults {
    name: "vts_security_avb_defaults",
    srcs: [
        "gsi_validation_utils.cpp",
    ],
    static_libs: [
        "libavb_user",
        "libavb",
        "libbase",
        "libcrypto_static",
        "libfs_avb",
        "libfs_mgr",
        "liblog",
    ],
    header_libs: [
        "libstorage_literals_headers",
    ],
    data: [
        ":q-gsi_avbpubkey",
        ":r-gsi_avbpubkey",
        ":s-gsi_avbpubkey",
        ":t-gsi_avbpubkey",
        ":qcar-gsi_avbpubkey",
    ],
    cflags: [
        "-Wall",
        "-Werror",
    ],
}

cc_test {
    name: "vts_security_avb_test",
    defaults: ["vts_security_avb_defaults"],
    srcs: [
        "VtsSecurityAvbTest.cpp",
    ],
    test_config: "vts_security_avb_test.xml",
    test_suites: [
        "device-tests",
        "vts",
    ],
}

cc_test {
    name: "vts_gki_compliance_test",
    defaults: [
        "vts_security_avb_defaults",
        "libvintf_static_user_defaults",
    ],
    srcs: [
        "vts_gki_compliance_test.cpp",
    ],
    static_libs: [
        "libvintf",
    ],
    header_libs: [
        "bootimg_headers",
    ],
    test_suites: [
        "device-tests",
        "vts",
    ],

    require_root: true,
}
