Merge "Convert VtsHalNfcV1_*TargetTest to be parameterized test"
This commit is contained in:
commit
a04877f2b3
7 changed files with 86 additions and 84 deletions
|
@ -21,5 +21,5 @@ cc_test {
|
|||
static_libs: [
|
||||
"android.hardware.nfc@1.0",
|
||||
],
|
||||
test_suites: ["general-tests"],
|
||||
test_suites: ["general-tests", "vts-core"],
|
||||
}
|
||||
|
|
33
nfc/1.0/vts/functional/AndroidTest.xml
Normal file
33
nfc/1.0/vts/functional/AndroidTest.xml
Normal file
|
@ -0,0 +1,33 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2019 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.
|
||||
-->
|
||||
<configuration description="Runs VtsHalNfcV1_0TargetTest.">
|
||||
<option name="test-suite-tag" value="apct" />
|
||||
<option name="test-suite-tag" value="apct-native" />
|
||||
|
||||
<target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer">
|
||||
</target_preparer>
|
||||
|
||||
<target_preparer class="com.android.tradefed.targetprep.PushFilePreparer">
|
||||
<option name="cleanup" value="true" />
|
||||
<option name="push" value="VtsHalNfcV1_0TargetTest->/data/local/tmp/VtsHalNfcV1_0TargetTest" />
|
||||
</target_preparer>
|
||||
|
||||
<test class="com.android.tradefed.testtype.GTest" >
|
||||
<option name="native-test-device-path" value="/data/local/tmp" />
|
||||
<option name="module-name" value="VtsHalNfcV1_0TargetTest" />
|
||||
<option name="native-test-timeout" value="180000"/>
|
||||
</test>
|
||||
</configuration>
|
|
@ -20,11 +20,12 @@
|
|||
#include <android/hardware/nfc/1.0/INfc.h>
|
||||
#include <android/hardware/nfc/1.0/INfcClientCallback.h>
|
||||
#include <android/hardware/nfc/1.0/types.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include <hardware/nfc.h>
|
||||
#include <hidl/GtestPrinter.h>
|
||||
#include <hidl/ServiceManagement.h>
|
||||
|
||||
#include <VtsHalHidlTargetCallbackBase.h>
|
||||
#include <VtsHalHidlTargetTestBase.h>
|
||||
#include <VtsHalHidlTargetTestEnvBase.h>
|
||||
|
||||
using ::android::hardware::nfc::V1_0::INfc;
|
||||
using ::android::hardware::nfc::V1_0::INfcClientCallback;
|
||||
|
@ -94,26 +95,11 @@ class NfcClientCallback
|
|||
};
|
||||
};
|
||||
|
||||
// Test environment for Nfc HIDL HAL.
|
||||
class NfcHidlEnvironment : public ::testing::VtsHalHidlTargetTestEnvBase {
|
||||
public:
|
||||
// get the test environment singleton
|
||||
static NfcHidlEnvironment* Instance() {
|
||||
static NfcHidlEnvironment* instance = new NfcHidlEnvironment;
|
||||
return instance;
|
||||
}
|
||||
|
||||
virtual void registerTestServices() override { registerTestService<INfc>(); }
|
||||
private:
|
||||
NfcHidlEnvironment() {}
|
||||
};
|
||||
|
||||
// The main test class for NFC HIDL HAL.
|
||||
class NfcHidlTest : public ::testing::VtsHalHidlTargetTestBase {
|
||||
class NfcHidlTest : public ::testing::TestWithParam<std::string> {
|
||||
public:
|
||||
virtual void SetUp() override {
|
||||
nfc_ = ::testing::VtsHalHidlTargetTestBase::getService<INfc>(
|
||||
NfcHidlEnvironment::Instance()->getServiceName<INfc>());
|
||||
nfc_ = INfc::getService(GetParam());
|
||||
ASSERT_NE(nfc_, nullptr);
|
||||
|
||||
nfc_cb_ = new NfcClientCallback();
|
||||
|
@ -186,7 +172,7 @@ class NfcHidlTest : public ::testing::VtsHalHidlTargetTestBase {
|
|||
* Since open and close calls are a part of SetUp() and TearDown(),
|
||||
* the function definition is intentionally kept empty
|
||||
*/
|
||||
TEST_F(NfcHidlTest, OpenAndClose) {}
|
||||
TEST_P(NfcHidlTest, OpenAndClose) {}
|
||||
|
||||
/*
|
||||
* WriteCoreReset:
|
||||
|
@ -194,7 +180,7 @@ TEST_F(NfcHidlTest, OpenAndClose) {}
|
|||
* Waits for CORE_RESET_RSP
|
||||
* Checks the status, version number and configuration status
|
||||
*/
|
||||
TEST_F(NfcHidlTest, WriteCoreReset) {
|
||||
TEST_P(NfcHidlTest, WriteCoreReset) {
|
||||
std::vector<uint8_t> cmd = CORE_RESET_CMD;
|
||||
NfcData data = cmd;
|
||||
EXPECT_EQ(data.size(), nfc_->write(data));
|
||||
|
@ -229,7 +215,7 @@ TEST_F(NfcHidlTest, WriteCoreReset) {
|
|||
* Waits for CORE_RESET_RSP
|
||||
* Checks the status, version number and configuration status
|
||||
*/
|
||||
TEST_F(NfcHidlTest, WriteCoreResetConfigReset) {
|
||||
TEST_P(NfcHidlTest, WriteCoreResetConfigReset) {
|
||||
std::vector<uint8_t> cmd = CORE_RESET_CMD_CONFIG_RESET;
|
||||
NfcData data = cmd;
|
||||
EXPECT_EQ(data.size(), nfc_->write(data));
|
||||
|
@ -264,7 +250,7 @@ TEST_F(NfcHidlTest, WriteCoreResetConfigReset) {
|
|||
* Waits for response
|
||||
* Checks SYNTAX_ERROR status
|
||||
*/
|
||||
TEST_F(NfcHidlTest, WriteInvalidCommand) {
|
||||
TEST_P(NfcHidlTest, WriteInvalidCommand) {
|
||||
// Send an Error Command
|
||||
std::vector<uint8_t> cmd = INVALID_COMMAND;
|
||||
NfcData data = cmd;
|
||||
|
@ -285,7 +271,7 @@ TEST_F(NfcHidlTest, WriteInvalidCommand) {
|
|||
* Send CORE_CONN_CREATE_CMD for loop-back mode
|
||||
* Check the response
|
||||
*/
|
||||
TEST_F(NfcHidlTest, WriteInvalidAndThenValidCommand) {
|
||||
TEST_P(NfcHidlTest, WriteInvalidAndThenValidCommand) {
|
||||
std::vector<uint8_t> cmd = CORE_RESET_CMD;
|
||||
NfcData data = cmd;
|
||||
EXPECT_EQ(data.size(), nfc_->write(data));
|
||||
|
@ -349,7 +335,7 @@ TEST_F(NfcHidlTest, WriteInvalidAndThenValidCommand) {
|
|||
* Checks the data received
|
||||
* Repeat to send total of 1Mb data
|
||||
*/
|
||||
TEST_F(NfcHidlTest, Bandwidth) {
|
||||
TEST_P(NfcHidlTest, Bandwidth) {
|
||||
std::vector<uint8_t> cmd = CORE_RESET_CMD;
|
||||
NfcData data = cmd;
|
||||
EXPECT_EQ(data.size(), nfc_->write(data));
|
||||
|
@ -437,7 +423,7 @@ TEST_F(NfcHidlTest, Bandwidth) {
|
|||
* Waits for NfcEvent.OPEN_CPLT
|
||||
* Checks status
|
||||
*/
|
||||
TEST_F(NfcHidlTest, PowerCycle) {
|
||||
TEST_P(NfcHidlTest, PowerCycle) {
|
||||
EXPECT_EQ(NfcStatus::OK, nfc_->powerCycle());
|
||||
// Wait for NfcEvent.OPEN_CPLT
|
||||
auto res = nfc_cb_->WaitForCallback(kCallbackNameSendEvent);
|
||||
|
@ -451,7 +437,7 @@ TEST_F(NfcHidlTest, PowerCycle) {
|
|||
* Calls powerCycle() after close()
|
||||
* Checks status
|
||||
*/
|
||||
TEST_F(NfcHidlTest, PowerCycleAfterClose) {
|
||||
TEST_P(NfcHidlTest, PowerCycleAfterClose) {
|
||||
EXPECT_EQ(NfcStatus::OK, nfc_->close());
|
||||
// Wait for CLOSE_CPLT event
|
||||
auto res = nfc_cb_->WaitForCallback(kCallbackNameSendEvent);
|
||||
|
@ -474,7 +460,7 @@ TEST_F(NfcHidlTest, PowerCycleAfterClose) {
|
|||
* Calls coreInitialized() with different data
|
||||
* Waits for NfcEvent.POST_INIT_CPLT
|
||||
*/
|
||||
TEST_F(NfcHidlTest, CoreInitialized) {
|
||||
TEST_P(NfcHidlTest, CoreInitialized) {
|
||||
NfcData data;
|
||||
data.resize(1);
|
||||
// These parameters might lead to device specific proprietary behavior
|
||||
|
@ -501,7 +487,7 @@ TEST_F(NfcHidlTest, CoreInitialized) {
|
|||
* Calls controlGranted()
|
||||
* Checks the return value
|
||||
*/
|
||||
TEST_F(NfcHidlTest, ControlGranted) {
|
||||
TEST_P(NfcHidlTest, ControlGranted) {
|
||||
EXPECT_EQ(NfcStatus::OK, nfc_->controlGranted());
|
||||
}
|
||||
|
||||
|
@ -510,7 +496,7 @@ TEST_F(NfcHidlTest, ControlGranted) {
|
|||
* Call controlGranted() after close
|
||||
* Checks the return value
|
||||
*/
|
||||
TEST_F(NfcHidlTest, ControlGrantedAfterClose) {
|
||||
TEST_P(NfcHidlTest, ControlGrantedAfterClose) {
|
||||
EXPECT_EQ(NfcStatus::OK, nfc_->close());
|
||||
// Wait for CLOSE_CPLT event
|
||||
auto res = nfc_cb_->WaitForCallback(kCallbackNameSendEvent);
|
||||
|
@ -532,7 +518,7 @@ TEST_F(NfcHidlTest, ControlGrantedAfterClose) {
|
|||
* Calls prediscover()
|
||||
* Checks the return value
|
||||
*/
|
||||
TEST_F(NfcHidlTest, PreDiscover) {
|
||||
TEST_P(NfcHidlTest, PreDiscover) {
|
||||
EXPECT_EQ(NfcStatus::OK, nfc_->prediscover());
|
||||
}
|
||||
|
||||
|
@ -541,7 +527,7 @@ TEST_F(NfcHidlTest, PreDiscover) {
|
|||
* Call prediscover() after close
|
||||
* Checks the return value
|
||||
*/
|
||||
TEST_F(NfcHidlTest, PreDiscoverAfterClose) {
|
||||
TEST_P(NfcHidlTest, PreDiscoverAfterClose) {
|
||||
EXPECT_EQ(NfcStatus::OK, nfc_->close());
|
||||
// Wait for CLOSE_CPLT event
|
||||
auto res = nfc_cb_->WaitForCallback(kCallbackNameSendEvent);
|
||||
|
@ -564,7 +550,7 @@ TEST_F(NfcHidlTest, PreDiscoverAfterClose) {
|
|||
* Calls close() multiple times
|
||||
* Checks status
|
||||
*/
|
||||
TEST_F(NfcHidlTest, CloseAfterClose) {
|
||||
TEST_P(NfcHidlTest, CloseAfterClose) {
|
||||
EXPECT_EQ(NfcStatus::OK, nfc_->close());
|
||||
// Wait for CLOSE_CPLT event
|
||||
auto res = nfc_cb_->WaitForCallback(kCallbackNameSendEvent);
|
||||
|
@ -587,15 +573,18 @@ TEST_F(NfcHidlTest, CloseAfterClose) {
|
|||
* Calls open() multiple times
|
||||
* Checks status
|
||||
*/
|
||||
TEST_F(NfcHidlTest, OpenAfterOpen) {
|
||||
TEST_P(NfcHidlTest, OpenAfterOpen) {
|
||||
EXPECT_EQ(NfcStatus::OK, nfc_->open(nfc_cb_));
|
||||
EXPECT_EQ(NfcStatus::OK, nfc_->open(nfc_cb_));
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(
|
||||
PerInstance, NfcHidlTest,
|
||||
testing::ValuesIn(android::hardware::getAllHalInstanceNames(INfc::descriptor)),
|
||||
android::hardware::PrintInstanceNameToString);
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
::testing::AddGlobalTestEnvironment(NfcHidlEnvironment::Instance());
|
||||
::testing::InitGoogleTest(&argc, argv);
|
||||
NfcHidlEnvironment::Instance()->init(&argc, argv);
|
||||
|
||||
std::system("svc nfc disable"); /* Turn off NFC */
|
||||
sleep(5);
|
||||
|
|
|
@ -22,5 +22,5 @@ cc_test {
|
|||
"android.hardware.nfc@1.0",
|
||||
"android.hardware.nfc@1.1",
|
||||
],
|
||||
test_suites: ["general-tests"],
|
||||
test_suites: ["general-tests", "vts-core"],
|
||||
}
|
||||
|
|
|
@ -21,11 +21,12 @@
|
|||
#include <android/hardware/nfc/1.1/INfc.h>
|
||||
#include <android/hardware/nfc/1.1/INfcClientCallback.h>
|
||||
#include <android/hardware/nfc/1.1/types.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include <hardware/nfc.h>
|
||||
#include <hidl/GtestPrinter.h>
|
||||
#include <hidl/ServiceManagement.h>
|
||||
|
||||
#include <VtsHalHidlTargetCallbackBase.h>
|
||||
#include <VtsHalHidlTargetTestBase.h>
|
||||
#include <VtsHalHidlTargetTestEnvBase.h>
|
||||
|
||||
using ::android::hardware::nfc::V1_1::INfc;
|
||||
using ::android::hardware::nfc::V1_1::INfcClientCallback;
|
||||
|
@ -83,25 +84,11 @@ class NfcClientCallback : public ::testing::VtsHalHidlTargetCallbackBase<NfcClie
|
|||
};
|
||||
};
|
||||
|
||||
// Test environment for Nfc HIDL HAL.
|
||||
class NfcHidlEnvironment : public ::testing::VtsHalHidlTargetTestEnvBase {
|
||||
public:
|
||||
// get the test environment singleton
|
||||
static NfcHidlEnvironment* Instance() {
|
||||
static NfcHidlEnvironment* instance = new NfcHidlEnvironment;
|
||||
return instance;
|
||||
}
|
||||
|
||||
virtual void registerTestServices() override { registerTestService<INfc>(); }
|
||||
private:
|
||||
NfcHidlEnvironment() {}
|
||||
};
|
||||
|
||||
// The main test class for NFC HIDL HAL.
|
||||
class NfcHidlTest : public ::testing::VtsHalHidlTargetTestBase {
|
||||
class NfcHidlTest : public ::testing::TestWithParam<std::string> {
|
||||
public:
|
||||
virtual void SetUp() override {
|
||||
nfc_ = ::testing::VtsHalHidlTargetTestBase::getService<INfc>();
|
||||
nfc_ = INfc::getService(GetParam());
|
||||
ASSERT_NE(nfc_, nullptr);
|
||||
|
||||
nfc_cb_ = new NfcClientCallback();
|
||||
|
@ -151,7 +138,7 @@ class NfcHidlTest : public ::testing::VtsHalHidlTargetTestBase {
|
|||
* calls factoryReset()
|
||||
* checks status
|
||||
*/
|
||||
TEST_F(NfcHidlTest, FactoryReset) {
|
||||
TEST_P(NfcHidlTest, FactoryReset) {
|
||||
nfc_->factoryReset();
|
||||
|
||||
EXPECT_EQ(NfcStatus::OK, nfc_->close());
|
||||
|
@ -174,7 +161,7 @@ TEST_F(NfcHidlTest, FactoryReset) {
|
|||
* Makes an open call, waits for NfcEvent.OPEN_CPLT
|
||||
* Immediately calls closeforPowerOffCase() and waits for NfcEvent.CLOSE_CPLT
|
||||
*/
|
||||
TEST_F(NfcHidlTest, OpenAndCloseForPowerOff) {
|
||||
TEST_P(NfcHidlTest, OpenAndCloseForPowerOff) {
|
||||
EXPECT_EQ(NfcStatus::OK, nfc_->closeForPowerOffCase());
|
||||
// Wait for CLOSE_CPLT event
|
||||
auto res = nfc_cb_->WaitForCallback(kCallbackNameSendEvent);
|
||||
|
@ -195,7 +182,7 @@ TEST_F(NfcHidlTest, OpenAndCloseForPowerOff) {
|
|||
* Calls closeForPowerOffCase()
|
||||
* Calls close() - checks failed status
|
||||
*/
|
||||
TEST_F(NfcHidlTest, CloseForPowerCaseOffAfterClose) {
|
||||
TEST_P(NfcHidlTest, CloseForPowerCaseOffAfterClose) {
|
||||
EXPECT_EQ(NfcStatus::OK, nfc_->closeForPowerOffCase());
|
||||
// Wait for CLOSE_CPLT event
|
||||
auto res = nfc_cb_->WaitForCallback(kCallbackNameSendEvent);
|
||||
|
@ -218,16 +205,19 @@ TEST_F(NfcHidlTest, CloseForPowerCaseOffAfterClose) {
|
|||
* Calls getConfig()
|
||||
* checks if fields in NfcConfig are populated correctly
|
||||
*/
|
||||
TEST_F(NfcHidlTest, GetConfig) {
|
||||
TEST_P(NfcHidlTest, GetConfig) {
|
||||
nfc_->getConfig([](NfcConfig config) {
|
||||
EXPECT_GE(config.maxIsoDepTransceiveLength, MIN_ISO_DEP_TRANSCEIVE_LENGTH);
|
||||
});
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(
|
||||
PerInstance, NfcHidlTest,
|
||||
testing::ValuesIn(android::hardware::getAllHalInstanceNames(INfc::descriptor)),
|
||||
android::hardware::PrintInstanceNameToString);
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
::testing::AddGlobalTestEnvironment(NfcHidlEnvironment::Instance());
|
||||
::testing::InitGoogleTest(&argc, argv);
|
||||
NfcHidlEnvironment::Instance()->init(&argc, argv);
|
||||
|
||||
std::system("svc nfc disable"); /* Turn off NFC */
|
||||
sleep(5);
|
||||
|
|
|
@ -23,4 +23,5 @@ cc_test {
|
|||
"android.hardware.nfc@1.1",
|
||||
"android.hardware.nfc@1.2",
|
||||
],
|
||||
test_suites: ["general-tests", "vts-core"],
|
||||
}
|
||||
|
|
|
@ -20,11 +20,12 @@
|
|||
#include <android/hardware/nfc/1.1/INfcClientCallback.h>
|
||||
#include <android/hardware/nfc/1.2/INfc.h>
|
||||
#include <android/hardware/nfc/1.2/types.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include <hardware/nfc.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_vec;
|
||||
|
@ -83,26 +84,11 @@ class NfcClientCallback : public ::testing::VtsHalHidlTargetCallbackBase<NfcClie
|
|||
};
|
||||
};
|
||||
|
||||
// Test environment for Nfc HIDL HAL.
|
||||
class NfcHidlEnvironment : public ::testing::VtsHalHidlTargetTestEnvBase {
|
||||
public:
|
||||
// get the test environment singleton
|
||||
static NfcHidlEnvironment* Instance() {
|
||||
static NfcHidlEnvironment* instance = new NfcHidlEnvironment;
|
||||
return instance;
|
||||
}
|
||||
|
||||
virtual void registerTestServices() override { registerTestService<INfc>(); }
|
||||
|
||||
private:
|
||||
NfcHidlEnvironment() {}
|
||||
};
|
||||
|
||||
// The main test class for NFC HIDL HAL.
|
||||
class NfcHidlTest : public ::testing::VtsHalHidlTargetTestBase {
|
||||
class NfcHidlTest : public ::testing::TestWithParam<std::string> {
|
||||
public:
|
||||
virtual void SetUp() override {
|
||||
nfc_ = ::testing::VtsHalHidlTargetTestBase::getService<INfc>();
|
||||
nfc_ = INfc::getService(GetParam());
|
||||
ASSERT_NE(nfc_, nullptr);
|
||||
|
||||
nfc_cb_ = new NfcClientCallback();
|
||||
|
@ -152,7 +138,7 @@ class NfcHidlTest : public ::testing::VtsHalHidlTargetTestBase {
|
|||
* Calls getConfig()
|
||||
* checks if fields in NfcConfig are populated correctly
|
||||
*/
|
||||
TEST_F(NfcHidlTest, GetExtendedConfig) {
|
||||
TEST_P(NfcHidlTest, GetExtendedConfig) {
|
||||
nfc_->getConfig_1_2([](NfcConfig config) {
|
||||
for (uint8_t uicc : config.offHostRouteUicc) {
|
||||
EXPECT_GE(uicc, MIN_OFFHOST_ROUTE_ID);
|
||||
|
@ -169,10 +155,13 @@ TEST_F(NfcHidlTest, GetExtendedConfig) {
|
|||
});
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(
|
||||
PerInstance, NfcHidlTest,
|
||||
testing::ValuesIn(android::hardware::getAllHalInstanceNames(INfc::descriptor)),
|
||||
android::hardware::PrintInstanceNameToString);
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
::testing::AddGlobalTestEnvironment(NfcHidlEnvironment::Instance());
|
||||
::testing::InitGoogleTest(&argc, argv);
|
||||
NfcHidlEnvironment::Instance()->init(&argc, argv);
|
||||
|
||||
std::system("svc nfc disable"); /* Turn off NFC */
|
||||
sleep(5);
|
||||
|
|
Loading…
Reference in a new issue