Merge changes I2f7052b6,Ifbfaf97c
* changes: Test Cleanup Report error OEMCrypto_ERROR_ENTRY_IN_USE
This commit is contained in:
committed by
Android (Google) Code Review
commit
ca2f1641c3
@@ -701,7 +701,6 @@ bool DeviceFiles::RetrieveUsageInfo(const std::string& usage_info_file_name,
|
|||||||
bool DeviceFiles::RetrieveUsageInfo(const std::string& usage_info_file_name,
|
bool DeviceFiles::RetrieveUsageInfo(const std::string& usage_info_file_name,
|
||||||
const std::string& provider_session_token,
|
const std::string& provider_session_token,
|
||||||
CdmUsageData* usage_data) {
|
CdmUsageData* usage_data) {
|
||||||
|
|
||||||
if (!initialized_) {
|
if (!initialized_) {
|
||||||
LOGW("DeviceFiles::RetrieveUsageInfo: not initialized");
|
LOGW("DeviceFiles::RetrieveUsageInfo: not initialized");
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -30,6 +30,8 @@ namespace wvcdm {
|
|||||||
|
|
||||||
class WvGenericOperationsTest : public testing::Test {
|
class WvGenericOperationsTest : public testing::Test {
|
||||||
public:
|
public:
|
||||||
|
WvGenericOperationsTest() : crypto_session_(NULL) {}
|
||||||
|
|
||||||
virtual void SetUp() {
|
virtual void SetUp() {
|
||||||
::testing::Test::SetUp();
|
::testing::Test::SetUp();
|
||||||
|
|
||||||
|
|||||||
@@ -445,7 +445,7 @@ OEMCryptoResult UsageTable::ShrinkUsageTableHeader(
|
|||||||
for (size_t i = new_table_size; i < sessions_.size(); ++i) {
|
for (size_t i = new_table_size; i < sessions_.size(); ++i) {
|
||||||
if (sessions_[i]) {
|
if (sessions_[i]) {
|
||||||
LOGE("ShrinkUsageTableHeader: session open for %d", i);
|
LOGE("ShrinkUsageTableHeader: session open for %d", i);
|
||||||
return OEMCrypto_ERROR_INVALID_CONTEXT;
|
return OEMCrypto_ERROR_ENTRY_IN_USE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
generation_numbers_.resize(new_table_size);
|
generation_numbers_.resize(new_table_size);
|
||||||
@@ -597,7 +597,7 @@ OEMCryptoResult UsageTable::MoveEntry(UsageTableEntry* entry,
|
|||||||
}
|
}
|
||||||
if (sessions_[new_index]) {
|
if (sessions_[new_index]) {
|
||||||
LOGE("MoveEntry: session open for %d", new_index);
|
LOGE("MoveEntry: session open for %d", new_index);
|
||||||
return OEMCrypto_ERROR_INVALID_SESSION;
|
return OEMCrypto_ERROR_ENTRY_IN_USE;
|
||||||
}
|
}
|
||||||
if (!entry) {
|
if (!entry) {
|
||||||
LOGE("MoveEntry: null entry");
|
LOGE("MoveEntry: null entry");
|
||||||
|
|||||||
@@ -5148,11 +5148,12 @@ class UsageTableDefragTest : public UsageTableTest {
|
|||||||
ASSERT_NO_FATAL_FAILURE(s->close());
|
ASSERT_NO_FATAL_FAILURE(s->close());
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShrinkHeader(uint32_t new_size, bool expect_success = true) {
|
void ShrinkHeader(uint32_t new_size,
|
||||||
|
OEMCryptoResult expected_result = OEMCrypto_SUCCESS) {
|
||||||
size_t header_buffer_length = 0;
|
size_t header_buffer_length = 0;
|
||||||
OEMCryptoResult sts =
|
OEMCryptoResult sts =
|
||||||
OEMCrypto_ShrinkUsageTableHeader(new_size, NULL, &header_buffer_length);
|
OEMCrypto_ShrinkUsageTableHeader(new_size, NULL, &header_buffer_length);
|
||||||
if (expect_success) {
|
if (expected_result == OEMCrypto_SUCCESS) {
|
||||||
ASSERT_EQ(OEMCrypto_ERROR_SHORT_BUFFER, sts);
|
ASSERT_EQ(OEMCrypto_ERROR_SHORT_BUFFER, sts);
|
||||||
} else {
|
} else {
|
||||||
ASSERT_NE(OEMCrypto_SUCCESS, sts);
|
ASSERT_NE(OEMCrypto_SUCCESS, sts);
|
||||||
@@ -5163,11 +5164,7 @@ class UsageTableDefragTest : public UsageTableTest {
|
|||||||
sts = OEMCrypto_ShrinkUsageTableHeader(
|
sts = OEMCrypto_ShrinkUsageTableHeader(
|
||||||
new_size, &encrypted_usage_header_[0],
|
new_size, &encrypted_usage_header_[0],
|
||||||
&header_buffer_length);
|
&header_buffer_length);
|
||||||
if (expect_success) {
|
ASSERT_EQ(expected_result, sts);
|
||||||
ASSERT_EQ(OEMCrypto_SUCCESS, sts);
|
|
||||||
} else {
|
|
||||||
ASSERT_NE(OEMCrypto_SUCCESS, sts);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -5215,7 +5212,7 @@ TEST_F(UsageTableDefragTest, MoveUsageEntriesToOpenSession) {
|
|||||||
ASSERT_NO_FATAL_FAILURE(s0.ReloadUsageEntry());
|
ASSERT_NO_FATAL_FAILURE(s0.ReloadUsageEntry());
|
||||||
// s0 currently open on index 0. Expect this to fail:
|
// s0 currently open on index 0. Expect this to fail:
|
||||||
ASSERT_NO_FATAL_FAILURE(s1.MoveUsageEntry(0, &encrypted_usage_header_,
|
ASSERT_NO_FATAL_FAILURE(s1.MoveUsageEntry(0, &encrypted_usage_header_,
|
||||||
OEMCrypto_ERROR_INVALID_SESSION));
|
OEMCrypto_ERROR_ENTRY_IN_USE));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(UsageTableDefragTest, ShrinkOverOpenSessions) {
|
TEST_F(UsageTableDefragTest, ShrinkOverOpenSessions) {
|
||||||
@@ -5228,9 +5225,9 @@ TEST_F(UsageTableDefragTest, ShrinkOverOpenSessions) {
|
|||||||
s1.open();
|
s1.open();
|
||||||
ASSERT_NO_FATAL_FAILURE(s1.ReloadUsageEntry());
|
ASSERT_NO_FATAL_FAILURE(s1.ReloadUsageEntry());
|
||||||
// Since s0 and s1 are open, we can't shrink.
|
// Since s0 and s1 are open, we can't shrink.
|
||||||
ASSERT_NO_FATAL_FAILURE(ShrinkHeader(1, /* expect_success */ false));
|
ASSERT_NO_FATAL_FAILURE(ShrinkHeader(1, OEMCrypto_ERROR_ENTRY_IN_USE));
|
||||||
s1.close(); // Can shrink after closing s1, even if s0 is open.
|
s1.close(); // Can shrink after closing s1, even if s0 is open.
|
||||||
ASSERT_NO_FATAL_FAILURE(ShrinkHeader(1, /* expect_success */ true));
|
ASSERT_NO_FATAL_FAILURE(ShrinkHeader(1, OEMCrypto_SUCCESS));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(UsageTableDefragTest, EnlargeHeader) {
|
TEST_F(UsageTableDefragTest, EnlargeHeader) {
|
||||||
@@ -5239,7 +5236,7 @@ TEST_F(UsageTableDefragTest, EnlargeHeader) {
|
|||||||
LoadFirstLicense(&s0, 0);
|
LoadFirstLicense(&s0, 0);
|
||||||
LoadFirstLicense(&s1, 1);
|
LoadFirstLicense(&s1, 1);
|
||||||
// Can only shrink the header -- not make it bigger.
|
// Can only shrink the header -- not make it bigger.
|
||||||
ASSERT_NO_FATAL_FAILURE(ShrinkHeader(4, /* expect_success */ false));
|
ASSERT_NO_FATAL_FAILURE(ShrinkHeader(4, OEMCrypto_ERROR_UNKNOWN_FAILURE));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(UsageTableDefragTest, CreateNewHeaderWhileUsingOldOne) {
|
TEST_F(UsageTableDefragTest, CreateNewHeaderWhileUsingOldOne) {
|
||||||
|
|||||||
Reference in New Issue
Block a user