From d93a6ccf5be86691428d3d9c86067d3271f4c11e Mon Sep 17 00:00:00 2001 From: nelsonli Date: Tue, 5 Nov 2019 17:17:46 +0800 Subject: [PATCH] [vts-core] add VtsHalHealthStorageV1_0TargetTest to vts-core Convert VtsHalHealthStorageV1_0TargetTest to be parameterized test and add it to vts-core Bug: 142397658 Test: $atest VtsHalHealthStorageV1_0TargetTest Change-Id: I0e91e0958c2dc351a0e9af03fd977f55f418d1f5 --- health/storage/1.0/vts/functional/Android.bp | 2 +- .../VtsHalHealthStorageV1_0TargetTest.cpp | 46 +++++-------------- 2 files changed, 13 insertions(+), 35 deletions(-) diff --git a/health/storage/1.0/vts/functional/Android.bp b/health/storage/1.0/vts/functional/Android.bp index 87502f8736..a30cdde2ac 100644 --- a/health/storage/1.0/vts/functional/Android.bp +++ b/health/storage/1.0/vts/functional/Android.bp @@ -22,6 +22,6 @@ cc_test { shared_libs: [ "libhidlbase", ], - test_suites: ["general-tests"], + test_suites: ["general-tests", "vts-core"], } diff --git a/health/storage/1.0/vts/functional/VtsHalHealthStorageV1_0TargetTest.cpp b/health/storage/1.0/vts/functional/VtsHalHealthStorageV1_0TargetTest.cpp index 2365124dcb..eaa44ec50f 100644 --- a/health/storage/1.0/vts/functional/VtsHalHealthStorageV1_0TargetTest.cpp +++ b/health/storage/1.0/vts/functional/VtsHalHealthStorageV1_0TargetTest.cpp @@ -14,11 +14,12 @@ * limitations under the License. */ -#include -#include #include #include +#include +#include #include +#include #include #include @@ -101,25 +102,10 @@ class GcCallback : public IGarbageCollectCallback, public Flag { Result mResult{Result::UNKNOWN_ERROR}; }; -/** Test environment for Health Storage HIDL HAL. */ -class HealthStorageHidlEnvironment : public ::testing::VtsHalHidlTargetTestEnvBase { - public: - /** get the test environment singleton */ - static HealthStorageHidlEnvironment* Instance() { - static HealthStorageHidlEnvironment* instance = new HealthStorageHidlEnvironment(); - return instance; - } - virtual void registerTestServices() override { registerTestService(); } - - private: - HealthStorageHidlEnvironment() {} -}; - -class HealthStorageHidlTest : public ::testing::VtsHalHidlTargetTestBase { +class HealthStorageHidlTest : public ::testing::TestWithParam { public: virtual void SetUp() override { - fs = ::testing::VtsHalHidlTargetTestBase::getService( - HealthStorageHidlEnvironment::Instance()->getServiceName()); + fs = IStorage::getService(GetParam()); ASSERT_NE(fs, nullptr); LOG(INFO) << "Service is remote " << fs->isRemote(); @@ -153,7 +139,7 @@ class HealthStorageHidlTest : public ::testing::VtsHalHidlTargetTestBase { /** * Ensure garbage collection works on null callback. */ -TEST_F(HealthStorageHidlTest, GcNullCallback) { +TEST_P(HealthStorageHidlTest, GcNullCallback) { auto ret = fs->garbageCollect(kDevGcTimeoutSec, nullptr); ASSERT_OK(ret); @@ -167,28 +153,20 @@ TEST_F(HealthStorageHidlTest, GcNullCallback) { /** * Ensure garbage collection works on non-null callback. */ -TEST_F(HealthStorageHidlTest, GcNonNullCallback) { +TEST_P(HealthStorageHidlTest, GcNonNullCallback) { sp cb = new GcCallback(); auto ret = fs->garbageCollect(kDevGcTimeoutSec, cb); ASSERT_OK(ret); cb->waitForResult(kDevGcTimeout + kDevGcTolerance + kRpcTime, Result::SUCCESS); } +INSTANTIATE_TEST_SUITE_P( + PerInstance, HealthStorageHidlTest, + testing::ValuesIn(android::hardware::getAllHalInstanceNames(IStorage::descriptor)), + android::hardware::PrintInstanceNameToString); + } // namespace V1_0 } // namespace storage } // namespace health } // namespace hardware } // namespace android - -int main(int argc, char** argv) { - using ::android::hardware::configureRpcThreadpool; - using ::android::hardware::health::storage::V1_0::HealthStorageHidlEnvironment; - - configureRpcThreadpool(1, false /* callerWillJoin*/); - ::testing::AddGlobalTestEnvironment(HealthStorageHidlEnvironment::Instance()); - ::testing::InitGoogleTest(&argc, argv); - HealthStorageHidlEnvironment::Instance()->init(&argc, argv); - int status = RUN_ALL_TESTS(); - LOG(INFO) << "Test result = " << status; - return status; -}