diff options
author | Arthur Ishiguro <arthuri@google.com> | 2021-08-12 14:43:39 -0700 |
---|---|---|
committer | Arthur Ishiguro <arthuri@google.com> | 2021-08-13 10:49:05 -0700 |
commit | fe0f98eb06b820139b5ecdd548d88833253e133a (patch) | |
tree | dd0e03f6420b68cf2b8bbfa62e38f46f196ea676 | |
parent | 1e23e773164d4de40b4c85094acaf9f0d54b6265 (diff) |
Refactors VtsHalContexthubUtils.h
Separates files that does/doesn't depend on HIDL.
Bug: 194285834
Test: Compile
Change-Id: I02e406f13b8459c80904454564ef34a143aa7075
-rw-r--r-- | contexthub/1.0/vts/functional/VtsHalContexthubV1_0TargetTest.cpp | 3 | ||||
-rw-r--r-- | contexthub/1.1/vts/functional/VtsHalContexthubV1_1TargetTest.cpp | 3 | ||||
-rw-r--r-- | contexthub/1.2/vts/functional/VtsHalContexthubV1_2TargetTest.cpp | 3 | ||||
-rw-r--r-- | contexthub/common/vts/VtsHalContexthubUtils.cpp | 2 | ||||
-rw-r--r-- | contexthub/common/vts/VtsHalContexthubUtilsCommon.h | 68 | ||||
-rw-r--r-- | contexthub/common/vts/VtsHalContexthubUtilsHidl.h (renamed from contexthub/common/vts/VtsHalContexthubUtils.h) | 40 |
6 files changed, 79 insertions, 40 deletions
diff --git a/contexthub/1.0/vts/functional/VtsHalContexthubV1_0TargetTest.cpp b/contexthub/1.0/vts/functional/VtsHalContexthubV1_0TargetTest.cpp index 356ad97327..b3173ef2b9 100644 --- a/contexthub/1.0/vts/functional/VtsHalContexthubV1_0TargetTest.cpp +++ b/contexthub/1.0/vts/functional/VtsHalContexthubV1_0TargetTest.cpp @@ -18,7 +18,8 @@ #include "ContexthubCallbackBase.h" #include "ContexthubHidlTestBase.h" -#include "VtsHalContexthubUtils.h" +#include "VtsHalContexthubUtilsCommon.h" +#include "VtsHalContexthubUtilsHidl.h" #include <android-base/logging.h> #include <android/hardware/contexthub/1.0/IContexthub.h> diff --git a/contexthub/1.1/vts/functional/VtsHalContexthubV1_1TargetTest.cpp b/contexthub/1.1/vts/functional/VtsHalContexthubV1_1TargetTest.cpp index acf4be0c45..0589fd8150 100644 --- a/contexthub/1.1/vts/functional/VtsHalContexthubV1_1TargetTest.cpp +++ b/contexthub/1.1/vts/functional/VtsHalContexthubV1_1TargetTest.cpp @@ -18,7 +18,8 @@ #include "ContexthubCallbackBase.h" #include "ContexthubHidlTestBase.h" -#include "VtsHalContexthubUtils.h" +#include "VtsHalContexthubUtilsCommon.h" +#include "VtsHalContexthubUtilsHidl.h" #include <android-base/logging.h> #include <android/hardware/contexthub/1.0/IContexthub.h> diff --git a/contexthub/1.2/vts/functional/VtsHalContexthubV1_2TargetTest.cpp b/contexthub/1.2/vts/functional/VtsHalContexthubV1_2TargetTest.cpp index 9ee40ede01..f1f980795e 100644 --- a/contexthub/1.2/vts/functional/VtsHalContexthubV1_2TargetTest.cpp +++ b/contexthub/1.2/vts/functional/VtsHalContexthubV1_2TargetTest.cpp @@ -18,7 +18,8 @@ #include "ContexthubCallbackBase.h" #include "ContexthubHidlTestBase.h" -#include "VtsHalContexthubUtils.h" +#include "VtsHalContexthubUtilsCommon.h" +#include "VtsHalContexthubUtilsHidl.h" #include <android-base/logging.h> #include <android/hardware/contexthub/1.0/IContexthub.h> diff --git a/contexthub/common/vts/VtsHalContexthubUtils.cpp b/contexthub/common/vts/VtsHalContexthubUtils.cpp index 5033b416c9..d98232583b 100644 --- a/contexthub/common/vts/VtsHalContexthubUtils.cpp +++ b/contexthub/common/vts/VtsHalContexthubUtils.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -#include "VtsHalContexthubUtils.h" +#include "VtsHalContexthubUtilsHidl.h" #include <chrono> #include <future> diff --git a/contexthub/common/vts/VtsHalContexthubUtilsCommon.h b/contexthub/common/vts/VtsHalContexthubUtilsCommon.h new file mode 100644 index 0000000000..8b04e3f04f --- /dev/null +++ b/contexthub/common/vts/VtsHalContexthubUtilsCommon.h @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2020 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. + */ + +/** + * Utils file for any Context Hub VTS code (i.e. not specific to e.g. HIDL). + */ + +#pragma once + +#include <chrono> +#include <future> + +namespace android { +namespace hardware { +namespace contexthub { +namespace vts_utils { + +// App ID with vendor "GoogT" (Google Testing), app identifier 0x555555. This +// app ID is reserved and must never appear in the list of loaded apps. +constexpr uint64_t kNonExistentAppId = 0x476f6f6754555555; + +// Helper that does explicit conversion of an enum class to its underlying/base +// type. Useful for stream output of enum values. +template <typename EnumType> +inline constexpr typename std::underlying_type<EnumType>::type asBaseType(EnumType value) { + return static_cast<typename std::underlying_type<EnumType>::type>(value); +} + +// Wait for a callback to occur (signaled by the given future) up to the +// provided timeout. If the future is invalid or the callback does not come +// within the given time, returns false. +template <class ReturnType> +bool waitForCallback(std::future<ReturnType> future, ReturnType* result, + std::chrono::milliseconds timeout = std::chrono::seconds(5)) { + auto expiration = std::chrono::system_clock::now() + timeout; + + EXPECT_NE(result, nullptr); + EXPECT_TRUE(future.valid()); + if (result != nullptr && future.valid()) { + std::future_status status = future.wait_until(expiration); + EXPECT_NE(status, std::future_status::timeout) << "Timed out waiting for callback"; + + if (status == std::future_status::ready) { + *result = future.get(); + return true; + } + } + + return false; +} + +} // namespace vts_utils +} // namespace contexthub +} // namespace hardware +} // namespace android diff --git a/contexthub/common/vts/VtsHalContexthubUtils.h b/contexthub/common/vts/VtsHalContexthubUtilsHidl.h index dff1865f4c..c79afc85cf 100644 --- a/contexthub/common/vts/VtsHalContexthubUtils.h +++ b/contexthub/common/vts/VtsHalContexthubUtilsHidl.h @@ -13,6 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + +/** + * Utils file for HIDL related VTS code. + */ #pragma once #include <android/hardware/contexthub/1.0/IContexthub.h> @@ -21,8 +25,6 @@ #include <hidl/ServiceManagement.h> #include <utils/StrongPointer.h> -#include <chrono> -#include <future> #include <vector> namespace android { @@ -30,20 +32,9 @@ namespace hardware { namespace contexthub { namespace vts_utils { -// App ID with vendor "GoogT" (Google Testing), app identifier 0x555555. This -// app ID is reserved and must never appear in the list of loaded apps. -constexpr uint64_t kNonExistentAppId = 0x476f6f6754555555; - #define ASSERT_OK(result) ASSERT_EQ(result, ::android::hardware::contexthub::V1_0::Result::OK) #define EXPECT_OK(result) EXPECT_EQ(result, ::android::hardware::contexthub::V1_0::Result::OK) -// Helper that does explicit conversion of an enum class to its underlying/base -// type. Useful for stream output of enum values. -template <typename EnumType> -inline constexpr typename std::underlying_type<EnumType>::type asBaseType(EnumType value) { - return static_cast<typename std::underlying_type<EnumType>::type>(value); -} - // Synchronously queries IContexthub::getHubs() and returns the result hidl_vec<V1_0::ContextHub> getHubsSync(V1_0::IContexthub* hubApi); @@ -68,29 +59,6 @@ static std::vector<std::tuple<std::string, std::string>> getHalAndHubIdList() { return parameters; } -// Wait for a callback to occur (signaled by the given future) up to the -// provided timeout. If the future is invalid or the callback does not come -// within the given time, returns false. -template <class ReturnType> -bool waitForCallback(std::future<ReturnType> future, ReturnType* result, - std::chrono::milliseconds timeout = std::chrono::seconds(5)) { - auto expiration = std::chrono::system_clock::now() + timeout; - - EXPECT_NE(result, nullptr); - EXPECT_TRUE(future.valid()); - if (result != nullptr && future.valid()) { - std::future_status status = future.wait_until(expiration); - EXPECT_NE(status, std::future_status::timeout) << "Timed out waiting for callback"; - - if (status == std::future_status::ready) { - *result = future.get(); - return true; - } - } - - return false; -} - } // namespace vts_utils } // namespace contexthub } // namespace hardware |