/*
 * Copyright 2017 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
    // Inherits all licenses from parent to get Apache 2.0 and package name.
    default_applicable_licenses: [
        "packages_modules_NeuralNetworks_runtime_license",
    ],
}

cc_defaults {
    name: "NeuralNetworksTest_default_libs",
    defaults: [
        "neuralnetworks_defaults",
        "neuralnetworks_use_latest_utils_hal_aidl",
    ],
    host_supported: true,
    // b/109953668, disable OpenMP
    // openmp: true,
    shared_libs: [
        "android.hidl.allocator@1.0",
        "android.hidl.memory@1.0",
        "libbase",
        "libbinder_ndk",
        "libcutils",
        "libfmq",
        "libhidlbase",
        "libhidlmemory",
        "liblog",
        "libneuralnetworks_packageinfo",
        "libutils",
    ],
    static_libs: [
        "android.hardware.neuralnetworks@1.0",
        "android.hardware.neuralnetworks@1.1",
        "android.hardware.neuralnetworks@1.2",
        "android.hardware.neuralnetworks@1.3",
        "libaidlcommonsupport",
        "libc++fs",
        "libneuralnetworks_generated_test_harness",
        "libtextclassifier_hash_static",
        "neuralnetworks_utils_hal_service",
        "server_configurable_flags",
    ],
    whole_static_libs: [
        "libcrypto_static",
    ],
    target: {
        android: {
            shared_libs: [
                "libandroid",
                "libnativewindow",
                "libstatssocket",
            ],
        },
        host: {
            cflags: [
                "-D__ANDROID_API_FUTURE__=10000",
                "-D__ANDROID_API_Q__=29",
                "-D__ANDROID_API_R__=30",
                "-D__ANDROID_API_S__=31",
                "-D__INTRODUCED_IN(n)=",
            ],
        },
    },
    srcs: [
        "RequireDebug.cpp", // Abort compilation if NDEBUG is defined
    ],
    cflags: [
        "-UNDEBUG",
    ],
}

cc_defaults {
    name: "NeuralNetworksTest_defaults",
    defaults: ["NeuralNetworksTest_default_libs"],
    srcs: [
        // Subset of tests that rely only on public functionality.
        //
        // Changes to this list must be reflected in the "CtsNNAPITests_static"
        // library to ensure CTS tests coverage.
        "GeneratedTestUtils.cpp",
        "TestAssertions.cpp",
        "TestControlFlow.cpp",
        "TestFree.cpp",
        "TestGenerated.cpp",
        "TestMemory.cpp",
        "TestNeuralNetworksWrapper.cpp",
        "TestOperandExtraParams.cpp",
        "TestTrivialModel.cpp",
        "TestUnknownDimensions.cpp",
        "TestUnspecifiedDimensions.cpp",
        "TestUpdatability.cpp",
        "TestValidateModel.cpp",
        "TestValidateOperations.cpp",
        "TestValidation.cpp",
        "TestWrapper.cpp",
    ],
    tidy_disabled_srcs: [
        "TestValidateModel.cpp", // includes large generated code
    ],
    header_libs: [
        "libneuralnetworks_common_headers",
        "neuralnetworks_types_headers",
    ],
    static_libs: [
        "libgmock",
    ],
    whole_static_libs: [
        "neuralnetworks_generated_AIDL_V2_example",
        "neuralnetworks_generated_AIDL_V3_example",
        "neuralnetworks_generated_V1_0_example",
        "neuralnetworks_generated_V1_1_example",
        "neuralnetworks_generated_V1_2_example",
        "neuralnetworks_generated_V1_3_cts_only_example",
        "neuralnetworks_generated_V1_3_example",
    ],
    target: {
        android: {
            shared_libs: [
                "libvulkan",
            ],
            srcs: [
                "TestGpuNnapi.cpp",
            ],
        },
    },
}

cc_test {
    name: "NeuralNetworksTest_shared_partial",
    host_supported: false,
    defaults: ["NeuralNetworksTest_defaults"],
    srcs: [
        "TestMain.cpp",
    ],
    cflags: [
        "-DNNTEST_ONLY_PUBLIC_API",
    ],
    shared_libs: [
        "libneuralnetworks",
    ],
}

cc_defaults {
    name: "NeuralNetworksTest_static_defaults",
    defaults: ["NeuralNetworksTest_defaults"],
    srcs: [
        // Tests that rely on non-public functionality (i.e., symbols
        // not exported from libneuralnetworks.so).
        //
        // b/109953668, disable OpenMP
        // "TestOpenmpSettings.cpp",
        "PreparedModelCallback.cpp",
        "TestCompilationCaching.cpp",
        "TestCompliance.cpp",
        "TestExecution.cpp",
        "TestExtensions.cpp",
        "TestFailingDriver.cpp",
        "TestIntrospectionControl.cpp",
        "TestMain.cpp",
        "TestMemoryDomain.cpp",
        "TestMemoryInternal.cpp",
        "TestPartitioning.cpp",
        "TestPartitioningRandom.cpp",
        "TestRemoveDefaultArguments.cpp",
        "TestServerFlag.cpp",
        "TestTelemetry.cpp",
        "fibonacci_extension/FibonacciDriver.cpp",
        "fibonacci_extension/FibonacciExtensionTest.cpp",
    ],
    static_libs: [
        "libSampleDriver",
        "libgmock",
        "libneuralnetworks_common",
        "libneuralnetworks_generated_test_harness",
        "libneuralnetworks_static",
        "neuralnetworks_test_utils",
    ],
    shared_libs: [
        "libcutils",
    ],
    header_libs: [
        "libneuralnetworks_private_headers",
        "libutils_headers",
        "neuralnetworks_example_fibonacci_extension",
    ],
}

cc_test {
    name: "NeuralNetworksTest_static",
    defaults: ["NeuralNetworksTest_static_defaults"],
    test_suites: [
        "general-tests",
    ],
    target: {
        android: {
            test_config: "AndroidTest_NeuralNetworksTest_static.xml",
            srcs: ["TestStatsdTelemetry.cpp"],
        },
        host: {
            cflags: [
                "-D__ANDROID_API__=10000",
            ],
        },
    },
    whole_static_libs: [
        "neuralnetworks_generated_experimental_example",
    ],
    exclude_static_libs: [
        "libneuralnetworks_common",
        "libneuralnetworks_static",
        "neuralnetworks_types",
        "server_configurable_flags",
    ],
    static_libs: [
        "libneuralnetworks_common_experimental",
        "libneuralnetworks_static_experimental",
        "neuralnetworks_types_experimental",
    ],
    cflags: ["-DNN_EXPERIMENTAL_FEATURE"],
    test_options: {
        unit_test: false,
    },
}

tidy_disabled_operation_signatures_files = [
    // These took too much time with clang-tidy.
    "fuzzing/operation_signatures/Convolutions.cpp",
    "fuzzing/operation_signatures/Poolings.cpp",
    "fuzzing/operation_signatures/Reshape.cpp",
    "fuzzing/operation_signatures/Resize.cpp",
]

cc_test {
    name: "NeuralNetworksTest_static_fuzzing",
    defaults: ["NeuralNetworksTest_default_libs"],
    srcs: [
        "GeneratedTestUtils.cpp",
        "TestNeuralNetworksWrapper.cpp",
        "fuzzing/OperationManager.cpp",
        "fuzzing/RandomGraphGenerator.cpp",
        "fuzzing/RandomGraphGeneratorUtils.cpp",
        "fuzzing/RandomVariable.cpp",
        "fuzzing/TestRandomGraph.cpp",
        "fuzzing/operation_signatures/*.cpp",
    ],
    tidy_disabled_srcs: tidy_disabled_operation_signatures_files,
    static_libs: [
        "libSampleDriver",
        "libgmock",
        "libneuralnetworks_common",
        "libneuralnetworks_static",
        "neuralnetworks_types",
        "neuralnetworks_utils_hal_1_0",
        "neuralnetworks_utils_hal_1_1",
        "neuralnetworks_utils_hal_1_2",
        "neuralnetworks_utils_hal_1_3",
    ],
    target: {
        android: {
            shared_libs: [
                "libmemunreachable",
            ],
        },
    },
    header_libs: [
        "libneuralnetworks_private_headers",
    ],
    sanitize: {
        integer_overflow: true,
    },
    test_options: {
        unit_test: false,
    },
}

cc_fuzz {
    name: "libneuralnetworks_fuzzer",
    defaults: [
        "NeuralNetworksTest_default_libs",
        "libneuralnetworks_fuzzer_defaults",
    ],
    owner: "google",
    fuzz_config: {
        cc: ["butlermichael@google.com"],
    },
    srcs: [
        "android_fuzzing/FuzzTest.cpp",
    ],
    static_libs: [
        "libneuralnetworks_common",
        "libneuralnetworks_generated_test_harness",
        "libneuralnetworks_static",
    ],
}

cc_fuzz {
    name: "libneuralnetworks_driver_fuzzer",
    defaults: [
        "NeuralNetworksTest_default_libs",
        "libneuralnetworks_fuzzer_defaults",
    ],
    owner: "google",
    fuzz_config: {
        cc: ["butlermichael@google.com"],
    },
    srcs: [
        "android_fuzzing/DriverFuzzTest.cpp",
    ],
    header_libs: [
        "libneuralnetworks_headers",
    ],
    static_libs: [
        "libneuralnetworks_common",
        "libneuralnetworks_generated_test_harness",
        "neuralnetworks_canonical_sample_driver",
        "neuralnetworks_test_utils",
        "neuralnetworks_types",
    ],
}

// Temporarily disabled due to b/139889855.
cc_test {
    name: "NeuralNetworksTest_static_asan",
    host_supported: false,
    defaults: ["NeuralNetworksTest_static_defaults"],
    enabled: false,
    sanitize: {
        address: true,
    },
    // Declare explicit library dependency for continuous builds
    required: ["libclang_rt.asan"],
}

// Temporarily disabled due to b/139889855.
cc_test {
    name: "NeuralNetworksTest_static_ubsan",
    host_supported: false,
    defaults: ["NeuralNetworksTest_static_defaults"],
    enabled: false,
    sanitize: {
        undefined: true,
        all_undefined: true,
        diag: {
            undefined: true,
        },
    },
}

cc_defaults {
    name: "NeuralNetworksTest_mt_defaults",
    defaults: ["NeuralNetworksTest_default_libs"],
    host_supported: false,
    srcs: [
        "GeneratedTestUtils.cpp",
        "TestGenerated.cpp",
        "TestMain.cpp",
        "TestNeuralNetworksWrapper.cpp",
    ],
    cflags: [
        "-DNNTEST_MULTITHREADED",
    ],
    static_libs: [
        "libSampleDriver",
        "libgmock",
        "libneuralnetworks_common",
        "libneuralnetworks_static",
    ],
    whole_static_libs: [
        "neuralnetworks_generated_AIDL_V2_example",
        "neuralnetworks_generated_AIDL_V3_example",
        "neuralnetworks_generated_V1_0_example",
        "neuralnetworks_generated_V1_1_example",
        "neuralnetworks_generated_V1_2_example",
        "neuralnetworks_generated_V1_3_cts_only_example",
        "neuralnetworks_generated_V1_3_example",
    ],
    shared_libs: [
        "libcutils",
    ],
    header_libs: [
        "libneuralnetworks_private_headers",
    ],
}

cc_test {
    name: "NeuralNetworksTest_mt_static",
    defaults: ["NeuralNetworksTest_mt_defaults"],
}

// Temporarily disabled due to b/139889855.
cc_test {
    // Note: tsan not supported on Android (yet)
    name: "NeuralNetworksTest_mt_static_asan",
    defaults: ["NeuralNetworksTest_mt_defaults"],
    enabled: false,
    sanitize: {
        address: true,
    },
}

cc_library_static {
    name: "CtsNNAPITests_static",
    host_supported: true,
    defaults: ["neuralnetworks_float16"],
    srcs: [
        ":libneuralnetworks_generated_test_harness_for_cts",
        "CtsMain.cpp",
        "GeneratedTestUtils.cpp",
        "RequireDebug.cpp", // Abort compilation if NDEBUG is defined
        "TestControlFlow.cpp",
        "TestFree.cpp",
        "TestGenerated.cpp",
        "TestMemory.cpp",
        "TestNeuralNetworksWrapper.cpp",
        "TestTrivialModel.cpp",
        "TestUnknownDimensions.cpp",
        "TestUpdatability.cpp",
        "TestValidateModel.cpp",
        "TestValidateOperations.cpp",
        "TestValidation.cpp",
        "TestWrapper.cpp",
        "fuzzing/OperationManager.cpp",
        "fuzzing/RandomGraphGenerator.cpp",
        "fuzzing/RandomGraphGeneratorUtils.cpp",
        "fuzzing/RandomVariable.cpp",
        "fuzzing/TestRandomGraph.cpp",
        "fuzzing/operation_signatures/*.cpp",
        "generated/spec_AIDL_V*/*.example.cpp",
        "generated/spec_V1_*/*.example.cpp",
    ],
    // generated code are too big to run with clang-tidy
    tidy_disabled_srcs: [
        "TestValidateModel.cpp", // includes large generated code
        "generated/spec_AIDL_V*/*.example.cpp",
        "generated/spec_V1_*/*.example.cpp",
    ] + tidy_disabled_operation_signatures_files,
    include_dirs: [
        "packages/modules/NeuralNetworks/common/include",
        "packages/modules/NeuralNetworks/common/types/include",
        "packages/modules/NeuralNetworks/runtime/",
        "packages/modules/NeuralNetworks/runtime/include/",
        "packages/modules/NeuralNetworks/tools/test_generator/test_harness/include",
    ],
    cflags: [
        "-DNNTEST_CTS",
        "-DNNTEST_ONLY_PUBLIC_API",
        "-UNDEBUG",
        "-Wall",
        "-Werror",
    ],
    shared_libs: [
        "liblog",
        "libneuralnetworks",
    ],
    target: {
        android: {
            static_libs: [
                "libbase_ndk",
                "libgmock_ndk",
                "libgtest_ndk_c++",
            ],
            shared_libs: [
                "libandroid",
                "libvulkan",
            ],
            srcs: [
                "TestGpuNnapi.cpp",
            ],
        },
        host: {
            static_libs: [
                "libbase",
                "libgmock",
                "libgtest",
            ],
            cflags: [
                "-D__ANDROID_API_FUTURE__=10000",
                "-D__ANDROID_API_Q__=29",
                "-D__ANDROID_API_R__=30",
                "-D__ANDROID_API_S__=31",
                "-D__ANDROID_API__=10000",
                "-D__INTRODUCED_IN(n)=",
            ],
        },
    },
    min_sdk_version: "30",
    sdk_version: "current",
    stl: "libc++_static",
}

cc_defaults {
    name: "neuralnetworks_generated_defaults",
    defaults: ["neuralnetworks_float16"],
    tidy: false, // generated files are too big to run with clang-tidy
    host_supported: true,
    vendor_available: true,
    static_libs: ["libneuralnetworks_generated_test_harness"],
}

cc_library_static {
    name: "neuralnetworks_generated_V1_0_example",
    defaults: ["neuralnetworks_generated_defaults"],
    srcs: ["generated/spec_V1_0/*.example.cpp"],
}

cc_library_static {
    name: "neuralnetworks_generated_V1_1_example",
    defaults: ["neuralnetworks_generated_defaults"],
    srcs: ["generated/spec_V1_1/*.example.cpp"],
}

cc_library_static {
    name: "neuralnetworks_generated_V1_2_example",
    defaults: ["neuralnetworks_generated_defaults"],
    srcs: ["generated/spec_V1_2/*.example.cpp"],
}

cc_library_static {
    name: "neuralnetworks_generated_V1_3_example",
    defaults: ["neuralnetworks_generated_defaults"],
    srcs: ["generated/spec_V1_3/*.example.cpp"],
}

cc_library_static {
    name: "neuralnetworks_generated_AIDL_V2_example",
    defaults: ["neuralnetworks_generated_defaults"],
    srcs: ["generated/spec_AIDL_V2/*.example.cpp"],
}

cc_library_static {
    name: "neuralnetworks_generated_AIDL_V3_example",
    defaults: ["neuralnetworks_generated_defaults"],
    srcs: ["generated/spec_AIDL_V3/*.example.cpp"],
}

cc_library_static {
    name: "neuralnetworks_generated_V1_3_cts_only_example",
    host_supported: true,
    defaults: ["neuralnetworks_float16"],
    tidy: false, // generated files are too big to run with clang-tidy
    srcs: ["generated/spec_V1_3_cts_only/*.example.cpp"],
    static_libs: ["libneuralnetworks_generated_test_harness"],
}

cc_library_static {
    name: "neuralnetworks_generated_experimental_example",
    defaults: ["neuralnetworks_generated_defaults"],
    srcs: ["generated/spec_experimental/*.example.cpp"],
    cflags: ["-DNN_EXPERIMENTAL_FEATURE"],
}

cc_library_static {
    name: "NeuralNetworksTest_random_graph",
    host_supported: true,
    defaults: ["neuralnetworks_float16"],
    srcs: [
        ":libneuralnetworks_generated_test_harness_for_cts",
        "GeneratedTestUtils.cpp",
        "TestNeuralNetworksWrapper.cpp",
        "fuzzing/OperationManager.cpp",
        "fuzzing/RandomGraphGenerator.cpp",
        "fuzzing/RandomGraphGeneratorUtils.cpp",
        "fuzzing/RandomVariable.cpp",
        "fuzzing/operation_signatures/*.cpp",
    ],
    tidy_disabled_srcs: tidy_disabled_operation_signatures_files,
    include_dirs: [
        "packages/modules/NeuralNetworks/common/include",
        "packages/modules/NeuralNetworks/runtime/",
        "packages/modules/NeuralNetworks/runtime/include/",
    ],
    header_libs: [
        "libneuralnetworks_generated_test_harness_headers_for_cts",
    ],
    export_include_dirs: [
        ".",
        "fuzzing",
    ],
    cflags: [
        "-UNDEBUG",
        "-Wall",
        "-Werror",
    ],
    shared_libs: [
        "liblog",
        "libneuralnetworks",
    ],
    target: {
        android: {
            static_libs: [
                "libbase_ndk",
                "libgmock_ndk",
                "libgtest_ndk_c++",
            ],
            shared_libs: [
                "libandroid",
            ],
        },
        host: {
            static_libs: [
                "libbase",
                "libgmock",
                "libgtest",
            ],
            cflags: [
                "-D__ANDROID_API_S__=31",
                "-D__INTRODUCED_IN(n)=",
            ],
        },
    },
    sanitize: {
        address: true,
        all_undefined: true,
    },
    strip: {
        keep_symbols: true,
    },
    sdk_version: "current",
    stl: "libc++_static",
}

cc_test {
    name: "NeuralNetworksSupportLibraryTest",
    host_supported: false,
    srcs: [
        "GeneratedTestUtils.cpp",
        "SupportLibraryTestGenerated.cpp",
        "SupportLibraryTestMain.cpp",
    ],
    cflags: [
        "-DNNTEST_COMPUTE_MODE",
        "-DNNTEST_ONLY_PUBLIC_API",
        "-DNNTEST_SLTS",
        "-DNN_COMPATIBILITY_LIBRARY_BUILD",
        "-Wall",
        "-Werror",
    ],
    shared_libs: [
        "libandroid",
        "liblog",
    ],
    static_libs: [
        "libbase_ndk",
        "libgmock_ndk",
        "libgtest_ndk_c++",
        "libneuralnetworks_generated_test_harness",
        "neuralnetworks_supportlibrary_loader",
    ],
    whole_static_libs: [
        "neuralnetworks_generated_AIDL_V2_example",
        "neuralnetworks_generated_AIDL_V3_example",
        "neuralnetworks_generated_V1_0_example",
        "neuralnetworks_generated_V1_1_example",
        "neuralnetworks_generated_V1_2_example",
        "neuralnetworks_generated_V1_3_example", // TODO (b/209655430): Decide if need to add "neuralnetworks_generated_V1_3_cts_only_example".
    ],
    include_dirs: [
        "packages/modules/NeuralNetworks/runtime/include/",
        "packages/modules/NeuralNetworks/tools/test_generator/test_harness/include",
    ],
    test_suites: ["general-tests"],
}
