Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c4c84ea6 authored by Michael K. Sanders's avatar Michael K. Sanders Committed by Android (Google) Code Review
Browse files

Merge "Separates VTS tests by HAL version."

parents 9c1867ee 0fb3892c
Loading
Loading
Loading
Loading
+22 −6
Original line number Diff line number Diff line
@@ -39,17 +39,14 @@ cc_library_static {
    ],
}

cc_test {
    name: "VtsHalNeuralnetworksV1_0TargetTest",
cc_defaults {
    name: "VtsHalNeuralNetworksTargetTestDefaults",
    defaults: ["VtsHalTargetTestDefaults"],
    srcs: [
        "BasicTests.cpp",
        "GeneratedTests.cpp",
        "ValidateModel.cpp",
        "ValidateRequest.cpp",
        "ValidationTests.cpp",
        "VtsHalNeuralnetworks.cpp",
    ],
    defaults: ["VtsHalTargetTestDefaults"],
    static_libs: [
        "android.hardware.neuralnetworks@1.0",
        "android.hardware.neuralnetworks@1.1",
@@ -66,4 +63,23 @@ cc_test {
        "libneuralnetworks_generated_test_harness_headers",
        "libneuralnetworks_generated_tests",
    ],
    // Bug: http://b/74200014 - Disable arm32 asan since it triggers internal
    // error in ld.gold.
    arch: {
        arm: {
            sanitize: {
                never: true,
            },
        },
    },
}

cc_test {
    name: "VtsHalNeuralnetworksV1_0TargetTest",
    defaults: ["VtsHalNeuralNetworksTargetTestDefaults"],
    srcs: [
        "BasicTests.cpp",
        "GeneratedTests.cpp",
        "ValidationTests.cpp",
    ],
}
+12 −29
Original line number Diff line number Diff line
@@ -14,40 +14,23 @@
// limitations under the License.
//

// Tests for V1_0 models using the V1_1 HAL.
cc_test {
    name: "VtsHalNeuralnetworksV1_1CompatV1_0TargetTest",
    defaults: ["VtsHalNeuralNetworksTargetTestDefaults"],
    srcs: [
        "GeneratedTestsV1_0.cpp",
        "ValidationTestsV1_0.cpp",
    ],
}

// Tests for V1_1 models.
cc_test {
    name: "VtsHalNeuralnetworksV1_1TargetTest",
    defaults: ["VtsHalNeuralNetworksTargetTestDefaults"],
    srcs: [
        "BasicTests.cpp",
        "GeneratedTests.cpp",
        "ValidateModel.cpp",
        "ValidateRequest.cpp",
        "ValidationTests.cpp",
        "VtsHalNeuralnetworks.cpp",
    ],
    defaults: ["VtsHalTargetTestDefaults"],
    static_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",
        "libgmock",
        "libhidlmemory",
        "libneuralnetworks_utils",
        "VtsHalNeuralnetworksTest_utils",
    ],
    header_libs: [
        "libneuralnetworks_headers",
        "libneuralnetworks_generated_test_harness_headers",
        "libneuralnetworks_generated_tests",
    ],
    // Bug: http://b/74200014 - Disable arm32 asan since it triggers internal
    // error in ld.gold.
    arch: {
        arm: {
            sanitize: {
                never: true,
            },
        },
    },
}
+0 −1
Original line number Diff line number Diff line
@@ -46,7 +46,6 @@ using ::android::nn::allocateSharedMemory;
using ::test_helper::MixedTypedExample;

// in frameworks/ml/nn/runtime/tests/generated/
#include "all_generated_V1_0_vts_tests.cpp"
#include "all_generated_V1_1_vts_tests.cpp"

}  // namespace functional
+56 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2018 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.
 */

#define LOG_TAG "neuralnetworks_hidl_hal_test"

#include "VtsHalNeuralnetworks.h"

#include "Callbacks.h"
#include "TestHarness.h"
#include "Utils.h"

#include <android-base/logging.h>
#include <android/hidl/memory/1.0/IMemory.h>
#include <hidlmemory/mapping.h>

namespace android {
namespace hardware {
namespace neuralnetworks {

namespace generated_tests {
using ::test_helper::MixedTypedExample;
extern void Execute(const sp<V1_1::IDevice>&, std::function<V1_1::Model(void)>,
                    std::function<bool(int)>, const std::vector<MixedTypedExample>&);
}  // namespace generated_tests

namespace V1_1 {
namespace vts {
namespace functional {

using ::android::hardware::neuralnetworks::V1_0::implementation::ExecutionCallback;
using ::android::hardware::neuralnetworks::V1_0::implementation::PreparedModelCallback;
using ::android::nn::allocateSharedMemory;
using ::test_helper::MixedTypedExample;

// in frameworks/ml/nn/runtime/tests/generated/
#include "all_generated_V1_0_vts_tests.cpp"

}  // namespace functional
}  // namespace vts
}  // namespace V1_1
}  // namespace neuralnetworks
}  // namespace hardware
}  // namespace android
+0 −146
Original line number Diff line number Diff line
@@ -34,193 +34,86 @@ namespace functional {
using MixedTypedExample = test_helper::MixedTypedExample;

#define FOR_EACH_TEST_MODEL(FN)                                  \
    FN(add)                                                      \
    FN(add_broadcast_quant8)                                     \
    FN(add_quant8)                                               \
    FN(add_relaxed)                                              \
    FN(avg_pool_float_1)                                         \
    FN(avg_pool_float_1_relaxed)                                 \
    FN(avg_pool_float_2)                                         \
    FN(avg_pool_float_2_relaxed)                                 \
    FN(avg_pool_float_3)                                         \
    FN(avg_pool_float_3_relaxed)                                 \
    FN(avg_pool_float_4)                                         \
    FN(avg_pool_float_4_relaxed)                                 \
    FN(avg_pool_float_5)                                         \
    FN(avg_pool_float_5_relaxed)                                 \
    FN(avg_pool_quant8_1)                                        \
    FN(avg_pool_quant8_2)                                        \
    FN(avg_pool_quant8_3)                                        \
    FN(avg_pool_quant8_4)                                        \
    FN(avg_pool_quant8_5)                                        \
    FN(batch_to_space)                                           \
    FN(batch_to_space_float_1)                                   \
    FN(batch_to_space_float_1_relaxed)                           \
    FN(batch_to_space_quant8_1)                                  \
    FN(batch_to_space_relaxed)                                   \
    FN(concat_float_1)                                           \
    FN(concat_float_1_relaxed)                                   \
    FN(concat_float_2)                                           \
    FN(concat_float_2_relaxed)                                   \
    FN(concat_float_3)                                           \
    FN(concat_float_3_relaxed)                                   \
    FN(concat_quant8_1)                                          \
    FN(concat_quant8_2)                                          \
    FN(concat_quant8_3)                                          \
    FN(conv_1_h3_w2_SAME)                                        \
    FN(conv_1_h3_w2_SAME_relaxed)                                \
    FN(conv_1_h3_w2_VALID)                                       \
    FN(conv_1_h3_w2_VALID_relaxed)                               \
    FN(conv_3_h3_w2_SAME)                                        \
    FN(conv_3_h3_w2_SAME_relaxed)                                \
    FN(conv_3_h3_w2_VALID)                                       \
    FN(conv_3_h3_w2_VALID_relaxed)                               \
    FN(conv_float)                                               \
    FN(conv_float_2)                                             \
    FN(conv_float_2_relaxed)                                     \
    FN(conv_float_channels)                                      \
    FN(conv_float_channels_relaxed)                              \
    FN(conv_float_channels_weights_as_inputs)                    \
    FN(conv_float_channels_weights_as_inputs_relaxed)            \
    FN(conv_float_large)                                         \
    FN(conv_float_large_relaxed)                                 \
    FN(conv_float_large_weights_as_inputs)                       \
    FN(conv_float_large_weights_as_inputs_relaxed)               \
    FN(conv_float_relaxed)                                       \
    FN(conv_float_weights_as_inputs)                             \
    FN(conv_float_weights_as_inputs_relaxed)                     \
    FN(conv_quant8)                                              \
    FN(conv_quant8_2)                                            \
    FN(conv_quant8_channels)                                     \
    FN(conv_quant8_channels_weights_as_inputs)                   \
    FN(conv_quant8_large)                                        \
    FN(conv_quant8_large_weights_as_inputs)                      \
    FN(conv_quant8_overflow)                                     \
    FN(conv_quant8_overflow_weights_as_inputs)                   \
    FN(conv_quant8_weights_as_inputs)                            \
    FN(depth_to_space_float_1)                                   \
    FN(depth_to_space_float_1_relaxed)                           \
    FN(depth_to_space_float_2)                                   \
    FN(depth_to_space_float_2_relaxed)                           \
    FN(depth_to_space_float_3)                                   \
    FN(depth_to_space_float_3_relaxed)                           \
    FN(depth_to_space_quant8_1)                                  \
    FN(depth_to_space_quant8_2)                                  \
    FN(depthwise_conv)                                           \
    FN(depthwise_conv2d_float)                                   \
    FN(depthwise_conv2d_float_2)                                 \
    FN(depthwise_conv2d_float_2_relaxed)                         \
    FN(depthwise_conv2d_float_large)                             \
    FN(depthwise_conv2d_float_large_2)                           \
    FN(depthwise_conv2d_float_large_2_relaxed)                   \
    FN(depthwise_conv2d_float_large_2_weights_as_inputs)         \
    FN(depthwise_conv2d_float_large_2_weights_as_inputs_relaxed) \
    FN(depthwise_conv2d_float_large_relaxed)                     \
    FN(depthwise_conv2d_float_large_weights_as_inputs)           \
    FN(depthwise_conv2d_float_large_weights_as_inputs_relaxed)   \
    FN(depthwise_conv2d_float_relaxed)                           \
    FN(depthwise_conv2d_float_weights_as_inputs)                 \
    FN(depthwise_conv2d_float_weights_as_inputs_relaxed)         \
    FN(depthwise_conv2d_quant8)                                  \
    FN(depthwise_conv2d_quant8_2)                                \
    FN(depthwise_conv2d_quant8_large)                            \
    FN(depthwise_conv2d_quant8_large_weights_as_inputs)          \
    FN(depthwise_conv2d_quant8_weights_as_inputs)                \
    FN(depthwise_conv_relaxed)                                   \
    FN(dequantize)                                               \
    FN(dequantize_relaxed)                                       \
    FN(div)                                                      \
    FN(div_broadcast_float)                                      \
    FN(div_broadcast_float_relaxed)                              \
    FN(div_relaxed)                                              \
    FN(embedding_lookup)                                         \
    FN(embedding_lookup_relaxed)                                 \
    FN(floor)                                                    \
    FN(floor_relaxed)                                            \
    FN(fully_connected_float)                                    \
    FN(fully_connected_float_2)                                  \
    FN(fully_connected_float_2_relaxed)                          \
    FN(fully_connected_float_4d_simple)                          \
    FN(fully_connected_float_4d_simple_relaxed)                  \
    FN(fully_connected_float_large)                              \
    FN(fully_connected_float_large_relaxed)                      \
    FN(fully_connected_float_large_weights_as_inputs)            \
    FN(fully_connected_float_large_weights_as_inputs_relaxed)    \
    FN(fully_connected_float_relaxed)                            \
    FN(fully_connected_float_weights_as_inputs)                  \
    FN(fully_connected_float_weights_as_inputs_relaxed)          \
    FN(fully_connected_quant8)                                   \
    FN(fully_connected_quant8_2)                                 \
    FN(fully_connected_quant8_large)                             \
    FN(fully_connected_quant8_large_weights_as_inputs)           \
    FN(fully_connected_quant8_weights_as_inputs)                 \
    FN(hashtable_lookup_float)                                   \
    FN(hashtable_lookup_float_relaxed)                           \
    FN(hashtable_lookup_quant8)                                  \
    FN(l2_normalization)                                         \
    FN(l2_normalization_2)                                       \
    FN(l2_normalization_2_relaxed)                               \
    FN(l2_normalization_large)                                   \
    FN(l2_normalization_large_relaxed)                           \
    FN(l2_normalization_relaxed)                                 \
    FN(l2_pool_float)                                            \
    FN(l2_pool_float_2)                                          \
    FN(l2_pool_float_2_relaxed)                                  \
    FN(l2_pool_float_large)                                      \
    FN(l2_pool_float_large_relaxed)                              \
    FN(l2_pool_float_relaxed)                                    \
    FN(local_response_norm_float_1)                              \
    FN(local_response_norm_float_1_relaxed)                      \
    FN(local_response_norm_float_2)                              \
    FN(local_response_norm_float_2_relaxed)                      \
    FN(local_response_norm_float_3)                              \
    FN(local_response_norm_float_3_relaxed)                      \
    FN(local_response_norm_float_4)                              \
    FN(local_response_norm_float_4_relaxed)                      \
    FN(logistic_float_1)                                         \
    FN(logistic_float_1_relaxed)                                 \
    FN(logistic_float_2)                                         \
    FN(logistic_float_2_relaxed)                                 \
    FN(logistic_quant8_1)                                        \
    FN(logistic_quant8_2)                                        \
    FN(lsh_projection)                                           \
    FN(lsh_projection_2)                                         \
    FN(lsh_projection_2_relaxed)                                 \
    FN(lsh_projection_relaxed)                                   \
    FN(lsh_projection_weights_as_inputs)                         \
    FN(lsh_projection_weights_as_inputs_relaxed)                 \
    FN(lstm)                                                     \
    FN(lstm2)                                                    \
    FN(lstm2_relaxed)                                            \
    FN(lstm2_state)                                              \
    FN(lstm2_state2)                                             \
    FN(lstm2_state2_relaxed)                                     \
    FN(lstm2_state_relaxed)                                      \
    FN(lstm3)                                                    \
    FN(lstm3_relaxed)                                            \
    FN(lstm3_state)                                              \
    FN(lstm3_state2)                                             \
    FN(lstm3_state2_relaxed)                                     \
    FN(lstm3_state3)                                             \
    FN(lstm3_state3_relaxed)                                     \
    FN(lstm3_state_relaxed)                                      \
    FN(lstm_relaxed)                                             \
    FN(lstm_state)                                               \
    FN(lstm_state2)                                              \
    FN(lstm_state2_relaxed)                                      \
    FN(lstm_state_relaxed)                                       \
    FN(max_pool_float_1)                                         \
    FN(max_pool_float_1_relaxed)                                 \
    FN(max_pool_float_2)                                         \
    FN(max_pool_float_2_relaxed)                                 \
    FN(max_pool_float_3)                                         \
    FN(max_pool_float_3_relaxed)                                 \
    FN(max_pool_float_4)                                         \
    FN(max_pool_float_4_relaxed)                                 \
    FN(max_pool_quant8_1)                                        \
    FN(max_pool_quant8_2)                                        \
    FN(max_pool_quant8_3)                                        \
    FN(max_pool_quant8_4)                                        \
    FN(mean)                                                     \
    FN(mean_float_1)                                             \
    FN(mean_float_1_relaxed)                                     \
@@ -229,57 +122,27 @@ using MixedTypedExample = test_helper::MixedTypedExample;
    FN(mean_quant8_1)                                            \
    FN(mean_quant8_2)                                            \
    FN(mean_relaxed)                                             \
    FN(mobilenet_224_gender_basic_fixed)                         \
    FN(mobilenet_224_gender_basic_fixed_relaxed)                 \
    FN(mobilenet_quantized)                                      \
    FN(mul)                                                      \
    FN(mul_broadcast_quant8)                                     \
    FN(mul_quant8)                                               \
    FN(mul_relaxed)                                              \
    FN(mul_relu)                                                 \
    FN(mul_relu_relaxed)                                         \
    FN(pad)                                                      \
    FN(pad_float_1)                                              \
    FN(pad_float_1_relaxed)                                      \
    FN(pad_relaxed)                                              \
    FN(relu1_float_1)                                            \
    FN(relu1_float_1_relaxed)                                    \
    FN(relu1_float_2)                                            \
    FN(relu1_float_2_relaxed)                                    \
    FN(relu1_quant8_1)                                           \
    FN(relu1_quant8_2)                                           \
    FN(relu6_float_1)                                            \
    FN(relu6_float_1_relaxed)                                    \
    FN(relu6_float_2)                                            \
    FN(relu6_float_2_relaxed)                                    \
    FN(relu6_quant8_1)                                           \
    FN(relu6_quant8_2)                                           \
    FN(relu_float_1)                                             \
    FN(relu_float_1_relaxed)                                     \
    FN(relu_float_2)                                             \
    FN(relu_float_2_relaxed)                                     \
    FN(relu_quant8_1)                                            \
    FN(relu_quant8_2)                                            \
    FN(reshape)                                                  \
    FN(reshape_quant8)                                           \
    FN(reshape_quant8_weights_as_inputs)                         \
    FN(reshape_relaxed)                                          \
    FN(reshape_weights_as_inputs)                                \
    FN(reshape_weights_as_inputs_relaxed)                        \
    FN(resize_bilinear)                                          \
    FN(resize_bilinear_2)                                        \
    FN(resize_bilinear_2_relaxed)                                \
    FN(resize_bilinear_relaxed)                                  \
    FN(rnn)                                                      \
    FN(rnn_relaxed)                                              \
    FN(rnn_state)                                                \
    FN(rnn_state_relaxed)                                        \
    FN(softmax_float_1)                                          \
    FN(softmax_float_1_relaxed)                                  \
    FN(softmax_float_2)                                          \
    FN(softmax_float_2_relaxed)                                  \
    FN(softmax_quant8_1)                                         \
    FN(softmax_quant8_2)                                         \
    FN(space_to_batch)                                           \
    FN(space_to_batch_float_1)                                   \
    FN(space_to_batch_float_1_relaxed)                           \
@@ -291,14 +154,9 @@ using MixedTypedExample = test_helper::MixedTypedExample;
    FN(space_to_batch_quant8_2)                                  \
    FN(space_to_batch_quant8_3)                                  \
    FN(space_to_batch_relaxed)                                   \
    FN(space_to_depth_float_1)                                   \
    FN(space_to_depth_float_1_relaxed)                           \
    FN(space_to_depth_float_2)                                   \
    FN(space_to_depth_float_2_relaxed)                           \
    FN(space_to_depth_float_3)                                   \
    FN(space_to_depth_float_3_relaxed)                           \
    FN(space_to_depth_quant8_1)                                  \
    FN(space_to_depth_quant8_2)                                  \
    FN(squeeze)                                                  \
    FN(squeeze_float_1)                                          \
    FN(squeeze_float_1_relaxed)                                  \
@@ -343,13 +201,9 @@ using MixedTypedExample = test_helper::MixedTypedExample;
    FN(sub_broadcast_float)                                      \
    FN(sub_broadcast_float_relaxed)                              \
    FN(sub_relaxed)                                              \
    FN(svdf)                                                     \
    FN(svdf2)                                                    \
    FN(svdf2_relaxed)                                            \
    FN(svdf_relaxed)                                             \
    FN(svdf_state)                                               \
    FN(svdf_state_relaxed)                                       \
    FN(tanh)                                                     \
    FN(tanh_relaxed)                                             \
    FN(transpose)                                                \
    FN(transpose_float_1)                                        \
Loading