//
// Copyright (C) 2014 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_defaults {
    name: "binder_test_defaults",
    cflags: [
        "-Wall",
        "-Werror",
    ],
}

cc_test {
    name: "binderDriverInterfaceTest",
    defaults: ["binder_test_defaults"],
    header_libs: ["libbinder_headers"],
    srcs: ["binderDriverInterfaceTest.cpp"],
    test_suites: [
        "device-tests",
        "vts",
    ],
}

// unit test only, which can run on host and doesn't use /dev/binder
cc_test {
    name: "binderUnitTest",
    host_supported: true,
    target: {
        darwin: {
            enabled: false,
        },
    },
    srcs: [
        "binderParcelUnitTest.cpp",
        "binderBinderUnitTest.cpp",
        "binderStatusUnitTest.cpp",
        "binderMemoryHeapBaseUnitTest.cpp",
        "binderRecordedTransactionTest.cpp",
    ],
    shared_libs: [
        "libbinder",
        "libcutils",
        "libutils",
    ],
    test_suites: ["general-tests"],
}

cc_test {
    name: "binderRecordReplayTest",
    srcs: ["binderRecordReplayTest.cpp"],
    cflags: [
        "-DBINDER_WITH_KERNEL_IPC",
    ],
    shared_libs: [
        "libbinder",
        "libcutils",
        "libutils",
        "liblog",
    ],
    static_libs: [
        "binderRecordReplayTestIface-cpp",
        "binderReadParcelIface-cpp",
        "libbinder_random_parcel_seeds",
        "libbinder_random_parcel",
    ],
    test_suites: ["general-tests"],
    require_root: true,
}

aidl_interface {
    name: "binderRecordReplayTestIface",
    unstable: true,
    srcs: [
        "IBinderRecordReplayTest.aidl",
    ],
    imports: ["binderReadParcelIface"],
    backend: {
        java: {
            enabled: true,
            platform_apis: true,
        },

        // TODO: switch from FileDescriptor to ParcelFileDescriptor
        ndk: {
            enabled: false,
        },
        rust: {
            enabled: false,
        },
    },
}

cc_test {
    name: "binderLibTest",
    defaults: ["binder_test_defaults"],

    srcs: ["binderLibTest.cpp"],
    shared_libs: [
        "libbase",
        "libbinder",
        "liblog",
        "libutils",
    ],
    static_libs: [
        "libgmock",
    ],
    test_suites: [
        "device-tests",
        "vts",
    ],
    require_root: true,
}

aidl_interface {
    name: "binderRpcTestIface",
    vendor_available: true,
    host_supported: true,
    unstable: true,
    srcs: [
        "BinderRpcTestClientInfo.aidl",
        "BinderRpcTestServerConfig.aidl",
        "BinderRpcTestServerInfo.aidl",
        "IBinderRpcCallback.aidl",
        "IBinderRpcSession.aidl",
        "IBinderRpcTest.aidl",
        "ParcelableCertificateData.aidl",
    ],
    flags: [
        "-Werror",
        "-Wno-mixed-oneway",
    ],
    backend: {
        java: {
            enabled: false,
        },
    },
}

cc_library_static {
    name: "libbinder_tls_test_utils",
    host_supported: true,
    vendor_available: true,
    target: {
        darwin: {
            enabled: false,
        },
    },
    defaults: [
        "binder_test_defaults",
        "libbinder_tls_shared_deps",
    ],
    shared_libs: [
        "libbase",
        "liblog",
    ],
    static_libs: [
        "libbinder_tls_static",
    ],
    srcs: [
        "RpcTlsTestUtils.cpp",
    ],
    export_include_dirs: [
        "include_tls_test_utils",
    ],
    visibility: [
        ":__subpackages__",
    ],
}

cc_library_static {
    name: "libbinder_test_utils",
    host_supported: true,
    vendor_available: true,
    target: {
        darwin: {
            enabled: false,
        },
    },
    defaults: [
        "binder_test_defaults",
    ],
    shared_libs: [
        "libbase",
        "liblog",
    ],
    srcs: [
        "FileUtils.cpp",
    ],
    visibility: [
        ":__subpackages__",
    ],
}

cc_defaults {
    name: "binderRpcTest_common_defaults",
    host_supported: true,
    target: {
        darwin: {
            enabled: false,
        },
    },
    defaults: [
        "binder_test_defaults",
    ],

    static_libs: [
        "libbinder_test_utils",
        "libbinder_tls_static",
        "libbinder_tls_test_utils",
        "binderRpcTestIface-cpp",
        "binderRpcTestIface-ndk",
    ],
}

cc_defaults {
    name: "binderRpcTest_service_defaults",
    defaults: [
        "binderRpcTest_common_defaults",
    ],
    gtest: false,
    auto_gen_config: false,
    srcs: [
        "binderRpcTestCommon.cpp",
        "binderRpcTestService.cpp",
    ],
}

cc_defaults {
    name: "binderRpcTest_defaults",
    target: {
        android: {
            test_suites: ["vts"],
        },
    },
    defaults: [
        "binderRpcTest_common_defaults",
    ],

    srcs: [
        "binderRpcTest.cpp",
        "binderRpcTestCommon.cpp",
        "binderRpcUniversalTests.cpp",
    ],

    // This test uses a lot of resources and takes a long time. Due to
    // design of several tests, it is also very sensitive to resource
    // contention on the device. b/276820894
    test_options: {
        unit_test: false,
        test_runner_options: [
            {
                name: "native-test-timeout",
                value: "10m",
            },
        ],
    },

    test_suites: ["general-tests"],
    require_root: true,

    data_bins: [
        "binder_rpc_test_service",
        "binder_rpc_test_service_no_kernel",
        "binder_rpc_test_service_single_threaded",
        "binder_rpc_test_service_single_threaded_no_kernel",
    ],
}

cc_defaults {
    name: "binderRpcTest_shared_defaults",
    cflags: [
        "-DBINDER_WITH_KERNEL_IPC",
    ],

    shared_libs: [
        "libbinder",
        "libbinder_ndk",
        "libbase",
        "libutils",
        "libcutils",
        "liblog",
    ],
}

cc_defaults {
    name: "binderRpcTest_static_defaults",

    shared_libs: [
        "liblog",
        "libutils",
        // libcrypto_static is not visible to this module
        "libcrypto",
    ],
    static_libs: [
        "libbase",
        "libcutils",
        "libssl",
    ],

    cflags: [
        // Disable tests that require shared libraries,
        // e.g., libbinder.so or libbinder_ndk.so
        "-DBINDER_TEST_NO_SHARED_LIBS",
    ],
}

cc_test {
    // The module name cannot start with "binderRpcTest" because
    // then atest tries to execute it as part of binderRpcTest
    name: "binder_rpc_test_service",
    defaults: [
        "binderRpcTest_service_defaults",
        "binderRpcTest_shared_defaults",
        "libbinder_tls_shared_deps",
    ],
}

cc_test {
    name: "binder_rpc_test_service_no_kernel",
    defaults: [
        "binderRpcTest_service_defaults",
        "binderRpcTest_static_defaults",
    ],
    static_libs: [
        "libbinder_rpc_no_kernel",
    ],
}

cc_test {
    name: "binder_rpc_test_service_single_threaded",
    defaults: [
        "binderRpcTest_service_defaults",
        "binderRpcTest_static_defaults",
    ],
    cflags: [
        "-DBINDER_RPC_SINGLE_THREADED",
        "-DBINDER_WITH_KERNEL_IPC",
    ],
    static_libs: [
        "libbinder_rpc_single_threaded",
    ],
}

cc_test {
    name: "binder_rpc_test_service_single_threaded_no_kernel",
    defaults: [
        "binderRpcTest_service_defaults",
        "binderRpcTest_static_defaults",
    ],
    cflags: [
        "-DBINDER_RPC_SINGLE_THREADED",
    ],
    static_libs: [
        "libbinder_rpc_single_threaded_no_kernel",
    ],
}

cc_binary {
    name: "binderRpcTestService_on_trusty_mock",
    defaults: [
        "trusty_mock_defaults",
    ],

    srcs: [
        "binderRpcTestCommon.cpp",
        "binderRpcTestServiceTrusty.cpp",
    ],

    shared_libs: [
        "libbinder_on_trusty_mock",
        "libbase",
        "libutils",
        "libcutils",
    ],

    static_libs: [
        "binderRpcTestIface-cpp",
    ],
}

cc_binary {
    name: "binderRpcTest_on_trusty_mock",
    defaults: [
        "trusty_mock_defaults",
    ],

    srcs: [
        "binderRpcUniversalTests.cpp",
        "binderRpcTestCommon.cpp",
        "binderRpcTestTrusty.cpp",
    ],

    shared_libs: [
        "libbinder_on_trusty_mock",
        "libbase",
        "libutils",
        "libcutils",
    ],

    static_libs: [
        "binderRpcTestIface-cpp",
        "libgtest",
    ],
}

cc_test {
    name: "binderRpcTest",
    defaults: [
        "binderRpcTest_defaults",
        "binderRpcTest_shared_defaults",
        "libbinder_tls_shared_deps",
    ],

    // Add the Trusty mock library as a fake dependency so it gets built
    required: [
        "libbinder_on_trusty_mock",
        "binderRpcTestService_on_trusty_mock",
        "binderRpcTest_on_trusty_mock",
    ],
}

cc_test {
    name: "binderRpcTestNoKernel",
    defaults: [
        "binderRpcTest_defaults",
        "binderRpcTest_static_defaults",
    ],
    static_libs: [
        "libbinder_rpc_no_kernel",
    ],
}

cc_test {
    name: "binderRpcTestSingleThreaded",
    defaults: [
        "binderRpcTest_defaults",
        "binderRpcTest_static_defaults",
    ],
    cflags: [
        "-DBINDER_RPC_SINGLE_THREADED",
        "-DBINDER_WITH_KERNEL_IPC",
    ],
    static_libs: [
        "libbinder_rpc_single_threaded",
    ],
}

cc_test {
    name: "binderRpcTestSingleThreadedNoKernel",
    defaults: [
        "binderRpcTest_defaults",
        "binderRpcTest_static_defaults",
    ],
    cflags: [
        "-DBINDER_RPC_SINGLE_THREADED",
    ],
    static_libs: [
        "libbinder_rpc_single_threaded_no_kernel",
    ],
}

cc_test {
    name: "binderRpcToTrustyTest",
    vendor: true,
    host_supported: false,
    defaults: [
        "binderRpcTest_common_defaults",
        "binderRpcTest_static_defaults",
    ],

    srcs: [
        "binderRpcTest.cpp",
        "binderRpcTestCommon.cpp",
        "binderRpcUniversalTests.cpp",
    ],

    cflags: [
        "-DBINDER_RPC_TO_TRUSTY_TEST",
    ],

    static_libs: [
        // We want to link libbinder statically so we can push the binary
        // to the device for testing independently of the library
        "libbinder_rpc_no_kernel",
        "libbinder_trusty",
        "libtrusty",
    ],

    test_suites: ["device-tests"],
    require_root: true,
}

cc_test {
    name: "RpcTlsUtilsTest",
    host_supported: true,
    target: {
        darwin: {
            enabled: false,
        },
        android: {
            test_suites: ["vts"],
        },
    },
    defaults: [
        "binder_test_defaults",
        "libbinder_tls_shared_deps",
    ],
    srcs: [
        "RpcTlsUtilsTest.cpp",
    ],
    shared_libs: [
        "libbinder",
        "libbase",
        "libutils",
        "liblog",
    ],
    static_libs: [
        "libbinder_tls_test_utils",
        "libbinder_tls_static",
    ],
    test_suites: [
        "general-tests",
        "device-tests",
    ],
}

cc_benchmark {
    name: "binderRpcBenchmark",
    defaults: [
        "binder_test_defaults",
        "libbinder_tls_shared_deps",
    ],
    host_supported: true,
    target: {
        darwin: {
            enabled: false,
        },
    },
    srcs: [
        "binderRpcBenchmark.cpp",
        "IBinderRpcBenchmark.aidl",
    ],
    shared_libs: [
        "libbase",
        "libbinder",
        "liblog",
        "libutils",
    ],
    static_libs: [
        "libbinder_tls_test_utils",
        "libbinder_tls_static",
    ],
}

cc_test {
    name: "binderRpcWireProtocolTest",
    host_supported: true,
    target: {
        darwin: {
            enabled: false,
        },
        android: {
            test_suites: ["vts"],
        },
    },
    defaults: [
        "binder_test_defaults",
    ],
    srcs: [
        "binderRpcWireProtocolTest.cpp",
    ],
    shared_libs: [
        "libbinder",
        "libbase",
        "libutils",
        "libcutils",
        "liblog",
    ],
    test_suites: ["general-tests"],
}

cc_test {
    name: "binderThroughputTest",
    defaults: ["binder_test_defaults"],
    srcs: ["binderThroughputTest.cpp"],
    shared_libs: [
        "libbinder",
        "libutils",
    ],
    cflags: [
        "-g",
        "-Wno-missing-field-initializers",
        "-Wno-sign-compare",
        "-O3",
    ],
}

cc_test {
    name: "binderTextOutputTest",
    defaults: ["binder_test_defaults"],
    srcs: ["binderTextOutputTest.cpp"],
    shared_libs: [
        "libbinder",
        "libutils",
        "libbase",
    ],
    test_suites: ["device-tests"],
}

cc_test {
    name: "schd-dbg",
    defaults: ["binder_test_defaults"],
    srcs: ["schd-dbg.cpp"],
    shared_libs: [
        "libbinder",
        "libutils",
        "libbase",
    ],
}

cc_test {
    name: "binderSafeInterfaceTest",
    defaults: ["binder_test_defaults"],
    srcs: ["binderSafeInterfaceTest.cpp"],

    cppflags: [
        "-Wextra",
    ],

    cpp_std: "experimental",
    gnu_extensions: false,

    shared_libs: [
        "libbinder",
        "libcutils",
        "liblog",
        "libutils",
    ],
    test_suites: [
        "device-tests",
        "vts",
    ],
    require_root: true,
}

cc_test {
    name: "binderClearBufTest",
    defaults: ["binder_test_defaults"],
    srcs: [
        "binderClearBufTest.cpp",
    ],

    shared_libs: [
        "libbase",
        "libbinder",
        "liblog",
        "libutils",
    ],

    test_suites: ["general-tests"],
    require_root: true,
}

aidl_interface {
    name: "binderStabilityTestIface",
    unstable: true,
    srcs: [
        "IBinderStabilityTest.aidl",
    ],
    backend: {
        java: {
            enabled: false,
        },
    },
}

cc_test {
    name: "binderStabilityTest",
    defaults: ["binder_test_defaults"],
    srcs: [
        "binderStabilityTest.cpp",
    ],

    // critical that libbinder/libbinder_ndk are shared for VTS
    shared_libs: [
        "libbinder_ndk",
        "libbinder",
        "liblog",
        "libutils",
    ],
    static_libs: [
        "binderStabilityTestIface-cpp",
        "binderStabilityTestIface-ndk",
    ],

    test_suites: [
        "device-tests",
        "vts",
    ],
    require_root: true,
}

cc_test {
    name: "binderAllocationLimits",
    defaults: ["binder_test_defaults"],
    srcs: ["binderAllocationLimits.cpp"],
    shared_libs: [
        "libbinder",
        "liblog",
        "libcutils",
        "libutils",
        "libutilscallstack",
        "libbase",
    ],
    test_suites: ["device-tests"],
    require_root: true,
}

cc_benchmark {
    name: "binderParcelBenchmark",
    defaults: ["binder_test_defaults"],
    srcs: ["binderParcelBenchmark.cpp"],
    shared_libs: [
        "libbase",
        "libbinder",
        "liblog",
        "libutils",
    ],
    test_suites: ["general-tests"],
}

cc_test_host {
    name: "binderUtilsHostTest",
    defaults: ["binder_test_defaults"],
    srcs: ["binderUtilsHostTest.cpp"],
    shared_libs: [
        "libbase",
        "libbinder",
    ],
    static_libs: [
        "libgmock",
    ],
    test_suites: ["general-tests"],
    target: {
        darwin: {
            enabled: false,
        },
    },
}

cc_test_host {
    name: "binderHostDeviceTest",
    defaults: ["binder_test_defaults"],
    srcs: ["binderHostDeviceTest.cpp"],
    test_config: "binderHostDeviceTest.xml",
    shared_libs: [
        "libbase",
        "libbinder",
        "liblog",
        "libutils",
    ],
    static_libs: [
        "libgmock",
    ],
    target_required: [
        "binderHostDeviceTestService",
    ],
    test_suites: ["general-tests"],
    target: {
        darwin: {
            enabled: false,
        },
    },
    test_options: {
        unit_test: false,
    },
}

cc_test {
    name: "binderHostDeviceTestService",
    // The binary is named differently from the module so that PushFilePreparer pushes the binary
    // directly, not the test module directory.
    stem: "binderHostDeviceTest-service",
    defaults: ["binder_test_defaults"],
    gtest: false,
    auto_gen_config: false,
    srcs: ["binderHostDeviceTestService.cpp"],
    shared_libs: [
        "libbase",
        "libbinder",
        "liblog",
        "libutils",
    ],
    test_suites: ["general-tests"],
}

cc_defaults {
    name: "service_fuzzer_defaults",
    static_libs: [
        "libbase",
        "libbinder_random_parcel",
        "libcutils",
    ],
    target: {
        android: {
            shared_libs: [
                "libbinder_ndk",
                "libbinder",
                "libutils",
            ],
        },
        host: {
            static_libs: [
                "libbinder_ndk",
                "libbinder",
                "libutils",
            ],
        },
        darwin: {
            enabled: false,
        },
    },
    fuzz_config: {
        cc: [
            "smoreland@google.com",
            "waghpawan@google.com",
        ],
        // Adds bugs to hotlist "AIDL fuzzers bugs" on buganizer
        hotlists: ["4637097"],
        use_for_presubmit: true,
    },
}

cc_defaults {
    name: "fuzzer_disable_leaks",
    fuzz_config: {
        asan_options: [
            "detect_leaks=0",
        ],
        hwasan_options: [
            "detect_leaks=0",
        ],
    },
}
