Halt tests after multiple failures
Merge from Widevine repo of http://go/wvgerrit/43440 This CL changes several tests so that they abort after multiple failures. This prevents a network error from putting one of the usage table tests into an infinite loop. bug: 73397596 test: unit tests Change-Id: Iaaec9eb2b39a6a2b2cfc90ee1c28bae0486aa851
This commit is contained in:
@@ -963,13 +963,17 @@ TEST_F(WvCdmExtendedDurationTest, UsageOverflowTest) {
|
|||||||
CdmResponseType status = decryptor_.GetUsageInfo(
|
CdmResponseType status = decryptor_.GetUsageInfo(
|
||||||
"", kDefaultCdmIdentifier, &usage_info);
|
"", kDefaultCdmIdentifier, &usage_info);
|
||||||
EXPECT_EQ(usage_info.empty() ? NO_ERROR : KEY_MESSAGE, status);
|
EXPECT_EQ(usage_info.empty() ? NO_ERROR : KEY_MESSAGE, status);
|
||||||
|
int error_count = 0;
|
||||||
while (usage_info.size() > 0) {
|
while (usage_info.size() > 0) {
|
||||||
for (size_t i = 0; i < usage_info.size(); ++i) {
|
for (size_t i = 0; i < usage_info.size(); ++i) {
|
||||||
release_msg =
|
release_msg =
|
||||||
GetUsageInfoResponse(g_license_server, g_client_auth, usage_info[i]);
|
GetUsageInfoResponse(g_license_server, g_client_auth, usage_info[i]);
|
||||||
EXPECT_EQ(NO_ERROR, decryptor_.ReleaseUsageInfo(release_msg,
|
EXPECT_EQ(NO_ERROR, decryptor_.ReleaseUsageInfo(release_msg,
|
||||||
kDefaultCdmIdentifier));
|
kDefaultCdmIdentifier))
|
||||||
|
<< i << "/" << usage_info.size() << " (err " << (error_count++) << ")"
|
||||||
|
<< release_msg;
|
||||||
}
|
}
|
||||||
|
ASSERT_LE(error_count, 100); // Give up after 100 failures.
|
||||||
status = decryptor_.GetUsageInfo("", kDefaultCdmIdentifier, &usage_info);
|
status = decryptor_.GetUsageInfo("", kDefaultCdmIdentifier, &usage_info);
|
||||||
switch (status) {
|
switch (status) {
|
||||||
case KEY_MESSAGE: EXPECT_FALSE(usage_info.empty()); break;
|
case KEY_MESSAGE: EXPECT_FALSE(usage_info.empty()); break;
|
||||||
@@ -1395,6 +1399,7 @@ TEST_P(WvCdmStreamingUsageReportTest, UsageTest) {
|
|||||||
CdmResponseType status = decryptor_.GetUsageInfo(
|
CdmResponseType status = decryptor_.GetUsageInfo(
|
||||||
"", kDefaultCdmIdentifier, &usage_info);
|
"", kDefaultCdmIdentifier, &usage_info);
|
||||||
EXPECT_EQ(usage_info.empty() ? NO_ERROR : KEY_MESSAGE, status);
|
EXPECT_EQ(usage_info.empty() ? NO_ERROR : KEY_MESSAGE, status);
|
||||||
|
int error_count = 0;
|
||||||
while (usage_info.size() > 0) {
|
while (usage_info.size() > 0) {
|
||||||
for (size_t i = 0; i < usage_info.size(); ++i) {
|
for (size_t i = 0; i < usage_info.size(); ++i) {
|
||||||
ValidateReleaseRequest(usage_info[i],
|
ValidateReleaseRequest(usage_info[i],
|
||||||
@@ -1403,9 +1408,12 @@ TEST_P(WvCdmStreamingUsageReportTest, UsageTest) {
|
|||||||
expected_seconds_since_last_playback);
|
expected_seconds_since_last_playback);
|
||||||
release_msg =
|
release_msg =
|
||||||
GetUsageInfoResponse(g_license_server, g_client_auth, usage_info[i]);
|
GetUsageInfoResponse(g_license_server, g_client_auth, usage_info[i]);
|
||||||
EXPECT_EQ(NO_ERROR, decryptor_.ReleaseUsageInfo(release_msg,
|
EXPECT_EQ(NO_ERROR,
|
||||||
kDefaultCdmIdentifier));
|
decryptor_.ReleaseUsageInfo(release_msg, kDefaultCdmIdentifier))
|
||||||
|
<< i << "/" << usage_info.size() << " (err " << (error_count++) << ")"
|
||||||
|
<< release_msg;
|
||||||
}
|
}
|
||||||
|
ASSERT_LE(error_count, 100); // Give up after 100 failures.
|
||||||
status = decryptor_.GetUsageInfo("", kDefaultCdmIdentifier, &usage_info);
|
status = decryptor_.GetUsageInfo("", kDefaultCdmIdentifier, &usage_info);
|
||||||
switch (status) {
|
switch (status) {
|
||||||
case KEY_MESSAGE:
|
case KEY_MESSAGE:
|
||||||
|
|||||||
@@ -2832,13 +2832,17 @@ TEST_F(WvCdmRequestLicenseTest, UsageInfoRetryTest) {
|
|||||||
// before release.
|
// before release.
|
||||||
status = decryptor_.GetUsageInfo(app_id, kDefaultCdmIdentifier, &usage_info);
|
status = decryptor_.GetUsageInfo(app_id, kDefaultCdmIdentifier, &usage_info);
|
||||||
EXPECT_EQ(usage_info.empty() ? NO_ERROR : KEY_MESSAGE, status);
|
EXPECT_EQ(usage_info.empty() ? NO_ERROR : KEY_MESSAGE, status);
|
||||||
|
int error_count = 0;
|
||||||
while (usage_info.size() > 0) {
|
while (usage_info.size() > 0) {
|
||||||
for (size_t i = 0; i < usage_info.size(); ++i) {
|
for (size_t i = 0; i < usage_info.size(); ++i) {
|
||||||
release_msg =
|
release_msg =
|
||||||
GetUsageInfoResponse(g_license_server, g_client_auth, usage_info[i]);
|
GetUsageInfoResponse(g_license_server, g_client_auth, usage_info[i]);
|
||||||
EXPECT_EQ(NO_ERROR, decryptor_.ReleaseUsageInfo(release_msg,
|
EXPECT_EQ(NO_ERROR, decryptor_.ReleaseUsageInfo(release_msg,
|
||||||
kDefaultCdmIdentifier));
|
kDefaultCdmIdentifier))
|
||||||
|
<< i << "/" << usage_info.size() << " (err " << (error_count++) << ")"
|
||||||
|
<< release_msg;
|
||||||
}
|
}
|
||||||
|
ASSERT_LE(error_count, 100); // Give up after 100 failures.
|
||||||
status = decryptor_.GetUsageInfo(
|
status = decryptor_.GetUsageInfo(
|
||||||
app_id, kDefaultCdmIdentifier, &usage_info);
|
app_id, kDefaultCdmIdentifier, &usage_info);
|
||||||
switch (status) {
|
switch (status) {
|
||||||
@@ -2925,14 +2929,17 @@ TEST_P(WvCdmUsageInfoTest, UsageInfo) {
|
|||||||
decryptor_.GetUsageInfo(usage_info_data->app_id, kDefaultCdmIdentifier,
|
decryptor_.GetUsageInfo(usage_info_data->app_id, kDefaultCdmIdentifier,
|
||||||
&usage_info);
|
&usage_info);
|
||||||
EXPECT_EQ(usage_info.empty() ? NO_ERROR : KEY_MESSAGE, status);
|
EXPECT_EQ(usage_info.empty() ? NO_ERROR : KEY_MESSAGE, status);
|
||||||
|
int error_count = 0;
|
||||||
while (usage_info.size() > 0) {
|
while (usage_info.size() > 0) {
|
||||||
for (size_t i = 0; i < usage_info.size(); ++i) {
|
for (size_t i = 0; i < usage_info.size(); ++i) {
|
||||||
release_msg =
|
release_msg =
|
||||||
GetUsageInfoResponse(g_license_server, g_client_auth, usage_info[i]);
|
GetUsageInfoResponse(g_license_server, g_client_auth, usage_info[i]);
|
||||||
EXPECT_EQ(
|
EXPECT_EQ(NO_ERROR,
|
||||||
NO_ERROR,
|
decryptor_.ReleaseUsageInfo(release_msg, kDefaultCdmIdentifier))
|
||||||
decryptor_.ReleaseUsageInfo(release_msg, kDefaultCdmIdentifier));
|
<< i << "/" << usage_info.size() << " (err " << (error_count++) << ")"
|
||||||
|
<< release_msg;
|
||||||
}
|
}
|
||||||
|
ASSERT_LE(error_count, 100); // Give up after 100 failures.
|
||||||
status = decryptor_.GetUsageInfo(usage_info_data->app_id,
|
status = decryptor_.GetUsageInfo(usage_info_data->app_id,
|
||||||
kDefaultCdmIdentifier, &usage_info);
|
kDefaultCdmIdentifier, &usage_info);
|
||||||
EXPECT_EQ(usage_info.empty() ? NO_ERROR : KEY_MESSAGE, status);
|
EXPECT_EQ(usage_info.empty() ? NO_ERROR : KEY_MESSAGE, status);
|
||||||
|
|||||||
Reference in New Issue
Block a user