blob: acf25a7f0f7ab54ef653bed38803866f61011f56 [file] [log] [blame]
/*
* 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.
*/
cc_defaults {
name: "NeuralNetworksTest_default_libs",
defaults: ["neuralnetworks_defaults"],
host_supported: false,
// b/109953668, disable OpenMP
// openmp: true,
shared_libs: [
"android.hardware.neuralnetworks@1.0",
"android.hardware.neuralnetworks@1.1",
"android.hardware.neuralnetworks@1.2",
"android.hidl.allocator@1.0",
"android.hidl.memory@1.0",
"libandroid",
"libbase",
"libbinder",
"libcutils",
"libfmq",
"libhidlbase",
"libhidlmemory",
"liblog",
"libnativewindow",
"libtextclassifier_hash",
"libui",
"libutils",
],
static_libs: [
"libc++fs",
"libcrypto",
"libneuralnetworks_generated_test_harness",
],
}
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.
"TestAssertions.cpp",
"TestFree.cpp",
"TestGenerated.cpp",
"TestMemory.cpp",
"TestNeuralNetworksWrapper.cpp",
"TestOperandExtraParams.cpp",
"TestTrivialModel.cpp",
"TestUnknownDimensions.cpp",
"TestUnspecifiedDimensions.cpp",
"TestValidateModel.cpp",
"TestValidateOperations.cpp",
"TestValidation.cpp",
"TestWrapper.cpp",
],
static_libs: [
"libgmock",
],
whole_static_libs: [
"neuralnetworks_generated_V1_0_example",
"neuralnetworks_generated_V1_1_example",
"neuralnetworks_generated_V1_2_example",
],
cflags: [
"-UNDEBUG",
],
}
cc_test {
name: "NeuralNetworksTest_shared_partial",
defaults: ["NeuralNetworksTest_defaults"],
srcs: [
"TestMain.cpp",
],
cflags: [
"-DNNTEST_ONLY_PUBLIC_API",
],
shared_libs: [
"libneuralnetworks",
"libtextclassifier_hash",
],
}
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",
"TestCompilationCaching.cpp",
"TestCompliance.cpp",
"TestExecution.cpp",
"TestExtensions.cpp",
"TestIntrospectionControl.cpp",
"TestMemoryInternal.cpp",
"TestPartitioning.cpp",
"TestPartitioningRandom.cpp",
"fibonacci_extension/FibonacciDriver.cpp",
"fibonacci_extension/FibonacciExtensionTest.cpp",
"TestMain.cpp",
"Bridge.cpp",
],
static_libs: [
"libSampleDriver",
"libgmock",
"libneuralnetworks",
"libneuralnetworks_common",
],
shared_libs: [
"libcutils",
],
header_libs: [
"libneuralnetworks_private_headers",
"neuralnetworks_test_vendor_fibonacci_extension",
],
}
cc_test {
name: "NeuralNetworksTest_static",
defaults: ["NeuralNetworksTest_static_defaults"],
test_suites: [
"general-tests",
],
}
cc_test {
name: "NeuralNetworksTest_static_fuzzing",
defaults: ["NeuralNetworksTest_default_libs"],
srcs: [
"TestNeuralNetworksWrapper.cpp",
"fuzzing/OperationManager.cpp",
"fuzzing/RandomGraphGenerator.cpp",
"fuzzing/RandomGraphGeneratorUtils.cpp",
"fuzzing/RandomVariable.cpp",
"fuzzing/TestRandomGraph.cpp",
"fuzzing/operation_signatures/*.cpp",
],
static_libs: [
"libSampleDriver",
"libgmock",
"libneuralnetworks",
"libneuralnetworks_common",
],
header_libs: [
"libneuralnetworks_private_headers",
],
}
// Temporarily disabled due to b/139889855.
cc_test {
name: "NeuralNetworksTest_static_asan",
defaults: ["NeuralNetworksTest_static_defaults"],
enabled: false,
sanitize: {
address: true,
},
// Declare explicit library dependency for continuous builds
target: {
android_arm: {
required: [
"libclang_rt.asan-arm-android",
],
},
android_arm64: {
required: [
"libclang_rt.asan-aarch64-android",
],
},
android_x86: {
required: [
"libclang_rt.asan-i686-android",
],
},
android_x86_64: {
required: [
"libclang_rt.asan-x86_64-android",
],
},
},
}
// Temporarily disabled due to b/139889855.
cc_test {
name: "NeuralNetworksTest_static_ubsan",
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"],
srcs: [
"TestGenerated.cpp",
"TestMain.cpp",
"TestNeuralNetworksWrapper.cpp",
],
cflags: [
"-DNNTEST_MULTITHREADED",
],
static_libs: [
"libSampleDriver",
"libgmock",
"libneuralnetworks",
"libneuralnetworks_common",
],
whole_static_libs: [
"neuralnetworks_generated_V1_0_example",
"neuralnetworks_generated_V1_1_example",
"neuralnetworks_generated_V1_2_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",
srcs: [
":libneuralnetworks_generated_test_harness_for_cts",
"TestFree.cpp",
"TestGenerated.cpp",
"TestMemory.cpp",
"TestNeuralNetworksWrapper.cpp",
"TestTrivialModel.cpp",
"TestUnknownDimensions.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_V1_*/*.example.cpp",
],
include_dirs: [
"frameworks/ml/nn/common/include",
"frameworks/ml/nn/runtime/",
"frameworks/ml/nn/runtime/include/",
"frameworks/ml/nn/tools/test_generator/test_harness/include",
],
cflags: [
"-DNNTEST_CTS",
"-DNNTEST_ONLY_PUBLIC_API",
"-Wall",
"-Werror",
],
shared_libs: [
"libandroid",
"liblog",
"libneuralnetworks",
],
static_libs: [
"libgmock_ndk",
"libgtest_ndk_c++",
],
sdk_version: "current",
stl: "c++_static",
}
cc_library_static {
name: "neuralnetworks_generated_V1_0_example",
srcs: ["generated/spec_V1_0/*.example.cpp"],
static_libs: ["libneuralnetworks_generated_test_harness"],
}
cc_library_static {
name: "neuralnetworks_generated_V1_1_example",
srcs: ["generated/spec_V1_1/*.example.cpp"],
static_libs: ["libneuralnetworks_generated_test_harness"],
}
cc_library_static {
name: "neuralnetworks_generated_V1_2_example",
srcs: ["generated/spec_V1_2/*.example.cpp"],
static_libs: ["libneuralnetworks_generated_test_harness"],
}