From 79aada202439906d0b5928ee943ee66b5bdb1686 Mon Sep 17 00:00:00 2001 From: nelsonli Date: Wed, 20 Nov 2019 15:11:04 +0800 Subject: [PATCH] [vts-core] add VtsHalGatekeeperV1_0TargetTest to vts-core Convert VtsHalGatekeeperV1_0TargetTest to be parameterized test and add it to vts-core Bug: 142397658 Test: $atest VtsHalGatekeeperV1_0TargetTest Change-Id: If90f5523eb29f020516076f2f6827512ad710122 --- gatekeeper/1.0/vts/functional/Android.bp | 2 +- .../VtsHalGatekeeperV1_0TargetTest.cpp | 55 ++++++------------- 2 files changed, 19 insertions(+), 38 deletions(-) diff --git a/gatekeeper/1.0/vts/functional/Android.bp b/gatekeeper/1.0/vts/functional/Android.bp index f55e5d2c0c..a115285392 100644 --- a/gatekeeper/1.0/vts/functional/Android.bp +++ b/gatekeeper/1.0/vts/functional/Android.bp @@ -19,5 +19,5 @@ cc_test { defaults: ["VtsHalTargetTestDefaults"], srcs: ["VtsHalGatekeeperV1_0TargetTest.cpp"], static_libs: ["android.hardware.gatekeeper@1.0"], - test_suites: ["general-tests"], + test_suites: ["general-tests", "vts-core"], } diff --git a/gatekeeper/1.0/vts/functional/VtsHalGatekeeperV1_0TargetTest.cpp b/gatekeeper/1.0/vts/functional/VtsHalGatekeeperV1_0TargetTest.cpp index 715e9fc02a..afc737c8eb 100644 --- a/gatekeeper/1.0/vts/functional/VtsHalGatekeeperV1_0TargetTest.cpp +++ b/gatekeeper/1.0/vts/functional/VtsHalGatekeeperV1_0TargetTest.cpp @@ -24,7 +24,10 @@ #include #include +#include #include +#include +#include #include #include @@ -32,9 +35,6 @@ #include -#include -#include - using ::android::hardware::hidl_string; using ::android::hardware::hidl_vec; using ::android::hardware::gatekeeper::V1_0::IGatekeeper; @@ -78,22 +78,8 @@ static const hw_auth_token_t *toAuthToken(GatekeeperResponse &rsp) { return auth_token; } -// Test environment for Gatekeeper HIDL HAL. -class GatekeeperHidlEnvironment : public ::testing::VtsHalHidlTargetTestEnvBase { - public: - // get the test environment singleton - static GatekeeperHidlEnvironment* Instance() { - static GatekeeperHidlEnvironment* instance = new GatekeeperHidlEnvironment; - return instance; - } - - virtual void registerTestServices() override { registerTestService(); } - private: - GatekeeperHidlEnvironment() {} -}; - // The main test class for Gatekeeper HIDL HAL. -class GatekeeperHidlTest : public ::testing::VtsHalHidlTargetTestBase { +class GatekeeperHidlTest : public ::testing::TestWithParam { protected: void setUid(uint32_t uid) { uid_ = uid; } @@ -204,8 +190,7 @@ class GatekeeperHidlTest : public ::testing::VtsHalHidlTargetTestBase { GatekeeperHidlTest() : uid_(0) {} virtual void SetUp() override { GatekeeperResponse rsp; - gatekeeper_ = ::testing::VtsHalHidlTargetTestBase::getService( - GatekeeperHidlEnvironment::Instance()->getServiceName()); + gatekeeper_ = IGatekeeper::getService(GetParam()); ASSERT_NE(nullptr, gatekeeper_.get()); doDeleteAllUsers(rsp); } @@ -219,7 +204,7 @@ class GatekeeperHidlTest : public ::testing::VtsHalHidlTargetTestBase { /** * Ensure we can enroll new password */ -TEST_F(GatekeeperHidlTest, EnrollSuccess) { +TEST_P(GatekeeperHidlTest, EnrollSuccess) { hidl_vec password; GatekeeperResponse rsp; ALOGI("Testing Enroll (expected success)"); @@ -231,7 +216,7 @@ TEST_F(GatekeeperHidlTest, EnrollSuccess) { /** * Ensure we can not enroll empty password */ -TEST_F(GatekeeperHidlTest, EnrollNoPassword) { +TEST_P(GatekeeperHidlTest, EnrollNoPassword) { hidl_vec password; GatekeeperResponse rsp; ALOGI("Testing Enroll (expected failure)"); @@ -242,7 +227,7 @@ TEST_F(GatekeeperHidlTest, EnrollNoPassword) { /** * Ensure we can successfully verify previously enrolled password */ -TEST_F(GatekeeperHidlTest, VerifySuccess) { +TEST_P(GatekeeperHidlTest, VerifySuccess) { GatekeeperResponse enrollRsp; GatekeeperResponse verifyRsp; hidl_vec password; @@ -258,7 +243,7 @@ TEST_F(GatekeeperHidlTest, VerifySuccess) { * Ensure we can securely update password (keep the same * secure user_id) if we prove we know old password */ -TEST_F(GatekeeperHidlTest, TrustedReenroll) { +TEST_P(GatekeeperHidlTest, TrustedReenroll) { GatekeeperResponse enrollRsp; GatekeeperRequest reenrollReq; GatekeeperResponse reenrollRsp; @@ -297,7 +282,7 @@ TEST_F(GatekeeperHidlTest, TrustedReenroll) { * Ensure we can update password (and get new * secure user_id) if we don't know old password */ -TEST_F(GatekeeperHidlTest, UntrustedReenroll) { +TEST_P(GatekeeperHidlTest, UntrustedReenroll) { GatekeeperResponse enrollRsp; GatekeeperResponse reenrollRsp; GatekeeperResponse verifyRsp; @@ -327,7 +312,7 @@ TEST_F(GatekeeperHidlTest, UntrustedReenroll) { /** * Ensure we dont get successful verify with invalid data */ -TEST_F(GatekeeperHidlTest, VerifyNoData) { +TEST_P(GatekeeperHidlTest, VerifyNoData) { hidl_vec password; hidl_vec passwordHandle; GatekeeperResponse verifyRsp; @@ -341,7 +326,7 @@ TEST_F(GatekeeperHidlTest, VerifyNoData) { /** * Ensure we can not verify password after we enrolled it and then deleted user */ -TEST_F(GatekeeperHidlTest, DeleteUserTest) { +TEST_P(GatekeeperHidlTest, DeleteUserTest) { hidl_vec password; GatekeeperResponse enrollRsp; GatekeeperResponse verifyRsp; @@ -368,7 +353,7 @@ TEST_F(GatekeeperHidlTest, DeleteUserTest) { /** * Ensure we can not delete a user that does not exist */ -TEST_F(GatekeeperHidlTest, DeleteInvalidUserTest) { +TEST_P(GatekeeperHidlTest, DeleteInvalidUserTest) { hidl_vec password; GatekeeperResponse enrollRsp; GatekeeperResponse verifyRsp; @@ -400,7 +385,7 @@ TEST_F(GatekeeperHidlTest, DeleteInvalidUserTest) { * Ensure we can not verify passwords after we enrolled them and then deleted * all users */ -TEST_F(GatekeeperHidlTest, DeleteAllUsersTest) { +TEST_P(GatekeeperHidlTest, DeleteAllUsersTest) { struct UserData { uint32_t userId; hidl_vec password; @@ -448,11 +433,7 @@ TEST_F(GatekeeperHidlTest, DeleteAllUsersTest) { ALOGI("Testing deleteAllUsers done: rsp=%" PRIi32, delAllRsp.code); } -int main(int argc, char **argv) { - ::testing::AddGlobalTestEnvironment(GatekeeperHidlEnvironment::Instance()); - ::testing::InitGoogleTest(&argc, argv); - GatekeeperHidlEnvironment::Instance()->init(&argc, argv); - int status = RUN_ALL_TESTS(); - ALOGI("Test result = %d", status); - return status; -} +INSTANTIATE_TEST_SUITE_P( + PerInstance, GatekeeperHidlTest, + testing::ValuesIn(android::hardware::getAllHalInstanceNames(IGatekeeper::descriptor)), + android::hardware::PrintInstanceNameToString);