mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:09:42 +00:00
Improve OpenAfterOpen VTS test
A callback should be executed every time the NFC interface is opened, even in OpenAfterOpen scenarios. If a callback is not executed, a crash may occur where the NfcService hangs while waiting for an OPEN_CPLT event. Change-Id: Idd78c0dae944e3d39a6828b43db5a608adbaf1d9 Signed-off-by: Bruno Carneiro <bccunha@motorola.com>
This commit is contained in:
@@ -562,7 +562,18 @@ TEST_P(NfcHidlTest, CloseAfterClose) {
|
|||||||
*/
|
*/
|
||||||
TEST_P(NfcHidlTest, OpenAfterOpen) {
|
TEST_P(NfcHidlTest, OpenAfterOpen) {
|
||||||
EXPECT_EQ(NfcStatus::OK, nfc_->open(nfc_cb_));
|
EXPECT_EQ(NfcStatus::OK, nfc_->open(nfc_cb_));
|
||||||
|
// Wait for OPEN_CPLT event
|
||||||
|
auto res = nfc_cb_->WaitForCallback(kCallbackNameSendEvent);
|
||||||
|
EXPECT_TRUE(res.no_timeout);
|
||||||
|
EXPECT_EQ(NfcEvent::OPEN_CPLT, res.args->last_event_);
|
||||||
|
EXPECT_EQ(NfcStatus::OK, res.args->last_status_);
|
||||||
|
|
||||||
EXPECT_EQ(NfcStatus::OK, nfc_->open(nfc_cb_));
|
EXPECT_EQ(NfcStatus::OK, nfc_->open(nfc_cb_));
|
||||||
|
// Wait for OPEN_CPLT event
|
||||||
|
res = nfc_cb_->WaitForCallback(kCallbackNameSendEvent);
|
||||||
|
EXPECT_TRUE(res.no_timeout);
|
||||||
|
EXPECT_EQ(NfcEvent::OPEN_CPLT, res.args->last_event_);
|
||||||
|
EXPECT_EQ(NfcStatus::OK, res.args->last_status_);
|
||||||
}
|
}
|
||||||
|
|
||||||
GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(NfcHidlTest);
|
GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(NfcHidlTest);
|
||||||
|
|||||||
Reference in New Issue
Block a user