1f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler/* 2f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler * Copyright (C) 2018 The Android Open Source Project 3f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler * 4f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler * Licensed under the Apache License, Version 2.0 (the "License"); 5f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler * you may not use this file except in compliance with the License. 6f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler * You may obtain a copy of the License at 7f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler * 8f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler * http://www.apache.org/licenses/LICENSE-2.0 9f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler * 10f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler * Unless required by applicable law or agreed to in writing, software 11f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler * distributed under the License is distributed on an "AS IS" BASIS, 12f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler * See the License for the specific language governing permissions and 14f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler * limitations under the License. 15f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler */ 16f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler 17f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler#define LOG_TAG "neuralnetworks_hidl_hal_test" 18f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler 19f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler#include "Models.h" 20f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler#include "VtsHalNeuralnetworks.h" 21f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler 22f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butlernamespace android { 23f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butlernamespace hardware { 24f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butlernamespace neuralnetworks { 25f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butlernamespace V1_0 { 26f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butlernamespace vts { 27f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butlernamespace functional { 28f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler 29f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler// forward declarations 30f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butlerstd::vector<Request> createRequests(const std::vector<MixedTypedExample>& examples); 31f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler 32f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler// generate validation tests 33f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler#define VTS_CURRENT_TEST_CASE(TestName) \ 34f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler TEST_F(ValidationTest, TestName) { \ 35f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler const Model model = TestName::createTestModel(); \ 36f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler const std::vector<Request> requests = createRequests(TestName::examples); \ 37f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler validateModel(model); \ 38f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler validateRequests(model, requests); \ 39f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler } 40f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler 41f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael ButlerFOR_EACH_TEST_MODEL(VTS_CURRENT_TEST_CASE) 42f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler 43f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler#undef VTS_CURRENT_TEST_CASE 44f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler 45f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler} // namespace functional 46f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler} // namespace vts 47f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler} // namespace V1_0 48f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler} // namespace neuralnetworks 49f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler} // namespace hardware 50f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler} // namespace android 51