From e9d5efb5b7f45f7b603a5660effd6928b23bf08b Mon Sep 17 00:00:00 2001 From: Jack Yu Date: Tue, 21 Mar 2023 17:36:04 +0800 Subject: [PATCH] secure_element/aidl: add state checking in TearDown() For some secure elements, reset() may takes more than 2.5 seconds. - Extend timeout duration - In TearDown(), wait until reset() is completed. Bug: 273872072 Test: atest VtsHalSecureElementTargetTest Change-Id: I345e1ac28e87423cfcbecd07aa049034fa28c40f --- .../aidl/vts/VtsHalSecureElementTargetTest.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/secure_element/aidl/vts/VtsHalSecureElementTargetTest.cpp b/secure_element/aidl/vts/VtsHalSecureElementTargetTest.cpp index 839a4ff339..97b4e27629 100644 --- a/secure_element/aidl/vts/VtsHalSecureElementTargetTest.cpp +++ b/secure_element/aidl/vts/VtsHalSecureElementTargetTest.cpp @@ -83,10 +83,15 @@ class MySecureElementCallback : public BnSecureElementCallback { void expectCallbackHistory(std::vector&& want) { std::unique_lock l(m); - cv.wait_for(l, 2s, [&]() { return history.size() >= want.size(); }); + cv.wait_for(l, 5s, [&]() { return history.size() >= want.size(); }); EXPECT_THAT(history, ElementsAreArray(want)); } + void resetCallbackHistory() { + std::unique_lock l(m); + history.clear(); + } + private: std::mutex m; // guards history std::condition_variable cv; @@ -118,7 +123,9 @@ class SecureElementAidl : public ::testing::TestWithParam { } void TearDown() override { + secure_element_callback_->resetCallbackHistory(); EXPECT_OK(secure_element_->reset()); + secure_element_callback_->expectCallbackHistory({false, true}); secure_element_ = nullptr; secure_element_callback_ = nullptr; }