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 "VtsHalNeuralnetworks.h" 20f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler 21f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butlernamespace android { 22f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butlernamespace hardware { 23f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butlernamespace neuralnetworks { 24f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butlernamespace V1_0 { 25f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butlernamespace vts { 26f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butlernamespace functional { 27f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler 28f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler// create device test 29f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael ButlerTEST_F(NeuralnetworksHidlTest, CreateDevice) {} 30f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler 31f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler// status test 32f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael ButlerTEST_F(NeuralnetworksHidlTest, StatusTest) { 33f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler Return<DeviceStatus> status = device->getStatus(); 34f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler ASSERT_TRUE(status.isOk()); 35f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler EXPECT_EQ(DeviceStatus::AVAILABLE, static_cast<DeviceStatus>(status)); 36f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler} 37f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler 38f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler// initialization 39f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael ButlerTEST_F(NeuralnetworksHidlTest, GetCapabilitiesTest) { 40f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler Return<void> ret = 41f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler device->getCapabilities([](ErrorStatus status, const Capabilities& capabilities) { 42f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler EXPECT_EQ(ErrorStatus::NONE, status); 43f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler EXPECT_LT(0.0f, capabilities.float32Performance.execTime); 44f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler EXPECT_LT(0.0f, capabilities.float32Performance.powerUsage); 45f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler EXPECT_LT(0.0f, capabilities.quantized8Performance.execTime); 46f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler EXPECT_LT(0.0f, capabilities.quantized8Performance.powerUsage); 47f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler }); 48f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler EXPECT_TRUE(ret.isOk()); 49f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler} 50f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler 51f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler} // namespace functional 52f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler} // namespace vts 53f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler} // namespace V1_0 54f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler} // namespace neuralnetworks 55f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler} // namespace hardware 56f76acd0312f7d47bd2e371f027a54bca581d8f8fMichael Butler} // namespace android 57