Merge "Convert VtsHalSecureElementV1_*TargetTest to be parameterized test" am: 116375fd42 am: 4ad2b2ceee am: 940f8a56c4

Change-Id: I35ce0ac5312cc50e2d57ef2bde488aa9f799de67
This commit is contained in:
Automerger Merge Worker
2019-12-11 22:28:00 +00:00
4 changed files with 30 additions and 74 deletions

View File

@@ -21,5 +21,5 @@ cc_test {
static_libs: [
"android.hardware.secure_element@1.0",
],
test_suites: ["general-tests"],
test_suites: ["general-tests", "vts-core"],
}

View File

@@ -20,10 +20,11 @@
#include <android/hardware/secure_element/1.0/ISecureElement.h>
#include <android/hardware/secure_element/1.0/ISecureElementHalCallback.h>
#include <android/hardware/secure_element/1.0/types.h>
#include <gtest/gtest.h>
#include <hidl/GtestPrinter.h>
#include <hidl/ServiceManagement.h>
#include <VtsHalHidlTargetCallbackBase.h>
#include <VtsHalHidlTargetTestBase.h>
#include <VtsHalHidlTargetTestEnvBase.h>
using ::android::hardware::secure_element::V1_0::ISecureElement;
using ::android::hardware::secure_element::V1_0::ISecureElementHalCallback;
@@ -32,7 +33,6 @@ using ::android::hardware::secure_element::V1_0::LogicalChannelResponse;
using ::android::hardware::Return;
using ::android::hardware::Void;
using ::android::sp;
using ::testing::VtsHalHidlTargetTestEnvBase;
#define DATA_APDU \
{ 0x00, 0x08, 0x00, 0x00, 0x00 }
@@ -63,30 +63,11 @@ class SecureElementHalCallback
};
};
class SecureElementHidlEnvironment : public VtsHalHidlTargetTestEnvBase {
public:
// get the test environment singleton
static SecureElementHidlEnvironment* Instance() {
static SecureElementHidlEnvironment* instance = new SecureElementHidlEnvironment;
return instance;
}
virtual void registerTestServices() override { registerTestService<ISecureElement>(); }
private:
SecureElementHidlEnvironment() {}
GTEST_DISALLOW_COPY_AND_ASSIGN_(SecureElementHidlEnvironment);
};
class SecureElementHidlTest : public ::testing::VtsHalHidlTargetTestBase {
public:
class SecureElementHidlTest : public ::testing::TestWithParam<std::string> {
public:
virtual void SetUp() override {
std::string serviceName =
SecureElementHidlEnvironment::Instance()->getServiceName<ISecureElement>("eSE1");
LOG(INFO) << "get service with name:" << serviceName;
ASSERT_FALSE(serviceName.empty());
se_ = ::testing::VtsHalHidlTargetTestBase::getService<ISecureElement>(serviceName);
LOG(INFO) << "get service with name:" << GetParam();
se_ = ISecureElement::getService(GetParam());
ASSERT_NE(se_, nullptr);
se_cb_ = new SecureElementHalCallback();
@@ -105,7 +86,7 @@ class SecureElementHidlTest : public ::testing::VtsHalHidlTargetTestBase {
* isCardPresent:
* Expects the card to be present
*/
TEST_F(SecureElementHidlTest, isCardPresent) {
TEST_P(SecureElementHidlTest, isCardPresent) {
EXPECT_TRUE(se_->isCardPresent());
}
@@ -113,7 +94,7 @@ TEST_F(SecureElementHidlTest, isCardPresent) {
* transmit:
* Check status word in the response
*/
TEST_F(SecureElementHidlTest, transmit) {
TEST_P(SecureElementHidlTest, transmit) {
std::vector<uint8_t> aid = ANDROID_TEST_AID;
SecureElementStatus statusReturned;
LogicalChannelResponse response;
@@ -153,7 +134,7 @@ TEST_F(SecureElementHidlTest, transmit) {
* If the secure element allows opening of basic channel:
* open channel, check the length of selectResponse and close the channel
*/
TEST_F(SecureElementHidlTest, openBasicChannel) {
TEST_P(SecureElementHidlTest, openBasicChannel) {
std::vector<uint8_t> aid = ANDROID_TEST_AID;
SecureElementStatus statusReturned;
std::vector<uint8_t> response;
@@ -179,7 +160,7 @@ TEST_F(SecureElementHidlTest, openBasicChannel) {
/*
* GetATR
*/
TEST_F(SecureElementHidlTest, getAtr) {
TEST_P(SecureElementHidlTest, getAtr) {
std::vector<uint8_t> atr;
se_->getAtr([&atr](std::vector<uint8_t> atrReturned) {
atr.resize(atrReturned.size());
@@ -200,7 +181,7 @@ TEST_F(SecureElementHidlTest, getAtr) {
* Check status
* Close Channel
*/
TEST_F(SecureElementHidlTest, openCloseLogicalChannel) {
TEST_P(SecureElementHidlTest, openCloseLogicalChannel) {
std::vector<uint8_t> aid = ANDROID_TEST_AID;
SecureElementStatus statusReturned;
LogicalChannelResponse response;
@@ -223,10 +204,7 @@ TEST_F(SecureElementHidlTest, openCloseLogicalChannel) {
EXPECT_EQ(SecureElementStatus::SUCCESS, se_->closeChannel(response.channelNumber));
}
int main(int argc, char** argv) {
::testing::AddGlobalTestEnvironment(SecureElementHidlEnvironment::Instance());
::testing::InitGoogleTest(&argc, argv);
SecureElementHidlEnvironment::Instance()->init(&argc, argv);
int status = RUN_ALL_TESTS();
return status;
}
INSTANTIATE_TEST_SUITE_P(
PerInstance, SecureElementHidlTest,
testing::ValuesIn(android::hardware::getAllHalInstanceNames(ISecureElement::descriptor)),
android::hardware::PrintInstanceNameToString);

View File

@@ -22,5 +22,5 @@ cc_test {
"android.hardware.secure_element@1.0",
"android.hardware.secure_element@1.1",
],
test_suites: ["general-tests"],
test_suites: ["general-tests", "vts-core"],
}

View File

@@ -22,10 +22,11 @@
#include <android/hardware/secure_element/1.0/types.h>
#include <android/hardware/secure_element/1.1/ISecureElement.h>
#include <android/hardware/secure_element/1.1/ISecureElementHalCallback.h>
#include <gtest/gtest.h>
#include <hidl/GtestPrinter.h>
#include <hidl/ServiceManagement.h>
#include <VtsHalHidlTargetCallbackBase.h>
#include <VtsHalHidlTargetTestBase.h>
#include <VtsHalHidlTargetTestEnvBase.h>
using ::android::sp;
using ::android::hardware::hidl_string;
@@ -33,7 +34,6 @@ using ::android::hardware::Return;
using ::android::hardware::Void;
using ::android::hardware::secure_element::V1_1::ISecureElement;
using ::android::hardware::secure_element::V1_1::ISecureElementHalCallback;
using ::testing::VtsHalHidlTargetTestEnvBase;
constexpr char kCallbackNameOnStateChange[] = "onStateChange";
@@ -60,30 +60,11 @@ class SecureElementHalCallback
Return<void> onStateChange(__attribute__((unused)) bool state) override { return Void(); }
};
class SecureElementHidlEnvironment : public VtsHalHidlTargetTestEnvBase {
public:
// get the test environment singleton
static SecureElementHidlEnvironment* Instance() {
static SecureElementHidlEnvironment* instance = new SecureElementHidlEnvironment;
return instance;
}
virtual void registerTestServices() override { registerTestService<ISecureElement>(); }
private:
SecureElementHidlEnvironment() {}
GTEST_DISALLOW_COPY_AND_ASSIGN_(SecureElementHidlEnvironment);
};
class SecureElementHidlTest : public ::testing::VtsHalHidlTargetTestBase {
public:
class SecureElementHidlTest : public ::testing::TestWithParam<std::string> {
public:
virtual void SetUp() override {
std::string serviceName =
SecureElementHidlEnvironment::Instance()->getServiceName<ISecureElement>("eSE1");
LOG(INFO) << "get service with name:" << serviceName;
ASSERT_FALSE(serviceName.empty());
se_ = ::testing::VtsHalHidlTargetTestBase::getService<ISecureElement>(serviceName);
LOG(INFO) << "get service with name:" << GetParam();
se_ = ISecureElement::getService(GetParam());
ASSERT_NE(se_, nullptr);
se_cb_ = new SecureElementHalCallback();
@@ -103,14 +84,11 @@ class SecureElementHidlTest : public ::testing::VtsHalHidlTargetTestBase {
* isCardPresent:
* Expects the card to be present
*/
TEST_F(SecureElementHidlTest, isCardPresent) {
TEST_P(SecureElementHidlTest, isCardPresent) {
EXPECT_TRUE(se_->isCardPresent());
}
int main(int argc, char** argv) {
::testing::AddGlobalTestEnvironment(SecureElementHidlEnvironment::Instance());
::testing::InitGoogleTest(&argc, argv);
SecureElementHidlEnvironment::Instance()->init(&argc, argv);
int status = RUN_ALL_TESTS();
return status;
}
INSTANTIATE_TEST_SUITE_P(
PerInstance, SecureElementHidlTest,
testing::ValuesIn(android::hardware::getAllHalInstanceNames(ISecureElement::descriptor)),
android::hardware::PrintInstanceNameToString);