mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
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
This commit is contained in:
@@ -83,10 +83,15 @@ class MySecureElementCallback : public BnSecureElementCallback {
|
||||
|
||||
void expectCallbackHistory(std::vector<bool>&& want) {
|
||||
std::unique_lock<std::mutex> 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<std::mutex> l(m);
|
||||
history.clear();
|
||||
}
|
||||
|
||||
private:
|
||||
std::mutex m; // guards history
|
||||
std::condition_variable cv;
|
||||
@@ -118,7 +123,9 @@ class SecureElementAidl : public ::testing::TestWithParam<std::string> {
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user