Merge "Add multiple provision attempts in vts openSession test" into tm-dev

This commit is contained in:
Robert Shih
2022-05-28 07:07:32 +00:00
committed by Android (Google) Code Review

View File

@@ -73,6 +73,7 @@ std::string HalBaseName(const std::string& fullname) {
} }
const char* kDrmIface = "android.hardware.drm.IDrmFactory"; const char* kDrmIface = "android.hardware.drm.IDrmFactory";
const int MAX_OPEN_SESSION_ATTEMPTS = 3;
std::string HalFullName(const std::string& iface, const std::string& basename) { std::string HalFullName(const std::string& iface, const std::string& basename) {
return iface + '/' + basename; return iface + '/' + basename;
@@ -328,9 +329,19 @@ SessionId DrmHalTest::openSession(SecurityLevel level, Status* err) {
*/ */
SessionId DrmHalTest::openSession() { SessionId DrmHalTest::openSession() {
SessionId sessionId; SessionId sessionId;
auto ret = drmPlugin->openSession(SecurityLevel::DEFAULT, &sessionId);
EXPECT_OK(ret); int attmpt = 0;
EXPECT_NE(0u, sessionId.size()); while (attmpt++ < MAX_OPEN_SESSION_ATTEMPTS) {
auto ret = drmPlugin->openSession(SecurityLevel::DEFAULT, &sessionId);
if(DrmErr(ret) == Status::ERROR_DRM_NOT_PROVISIONED) {
provision();
} else {
EXPECT_OK(ret);
EXPECT_NE(0u, sessionId.size());
break;
}
}
return sessionId; return sessionId;
} }