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,
|
||||
const std::string& provider_session_token,
|
||||
CdmUsageData* usage_data) {
|
||||
|
||||
if (!initialized_) {
|
||||
LOGW("DeviceFiles::RetrieveUsageInfo: not initialized");
|
||||
return false;
|
||||
|
||||
@@ -30,6 +30,8 @@ namespace wvcdm {
|
||||
|
||||
class WvGenericOperationsTest : public testing::Test {
|
||||
public:
|
||||
WvGenericOperationsTest() : crypto_session_(NULL) {}
|
||||
|
||||
virtual void SetUp() {
|
||||
::testing::Test::SetUp();
|
||||
|
||||
|
||||
@@ -445,7 +445,7 @@ OEMCryptoResult UsageTable::ShrinkUsageTableHeader(
|
||||
for (size_t i = new_table_size; i < sessions_.size(); ++i) {
|
||||
if (sessions_[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);
|
||||
@@ -597,7 +597,7 @@ OEMCryptoResult UsageTable::MoveEntry(UsageTableEntry* entry,
|
||||
}
|
||||
if (sessions_[new_index]) {
|
||||
LOGE("MoveEntry: session open for %d", new_index);
|
||||
return OEMCrypto_ERROR_INVALID_SESSION;
|
||||
return OEMCrypto_ERROR_ENTRY_IN_USE;
|
||||
}
|
||||
if (!entry) {
|
||||
LOGE("MoveEntry: null entry");
|
||||
|
||||
@@ -5148,11 +5148,12 @@ class UsageTableDefragTest : public UsageTableTest {
|
||||
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;
|
||||
OEMCryptoResult sts =
|
||||
OEMCrypto_ShrinkUsageTableHeader(new_size, NULL, &header_buffer_length);
|
||||
if (expect_success) {
|
||||
if (expected_result == OEMCrypto_SUCCESS) {
|
||||
ASSERT_EQ(OEMCrypto_ERROR_SHORT_BUFFER, sts);
|
||||
} else {
|
||||
ASSERT_NE(OEMCrypto_SUCCESS, sts);
|
||||
@@ -5163,11 +5164,7 @@ class UsageTableDefragTest : public UsageTableTest {
|
||||
sts = OEMCrypto_ShrinkUsageTableHeader(
|
||||
new_size, &encrypted_usage_header_[0],
|
||||
&header_buffer_length);
|
||||
if (expect_success) {
|
||||
ASSERT_EQ(OEMCrypto_SUCCESS, sts);
|
||||
} else {
|
||||
ASSERT_NE(OEMCrypto_SUCCESS, sts);
|
||||
}
|
||||
ASSERT_EQ(expected_result, sts);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -5215,7 +5212,7 @@ TEST_F(UsageTableDefragTest, MoveUsageEntriesToOpenSession) {
|
||||
ASSERT_NO_FATAL_FAILURE(s0.ReloadUsageEntry());
|
||||
// s0 currently open on index 0. Expect this to fail:
|
||||
ASSERT_NO_FATAL_FAILURE(s1.MoveUsageEntry(0, &encrypted_usage_header_,
|
||||
OEMCrypto_ERROR_INVALID_SESSION));
|
||||
OEMCrypto_ERROR_ENTRY_IN_USE));
|
||||
}
|
||||
|
||||
TEST_F(UsageTableDefragTest, ShrinkOverOpenSessions) {
|
||||
@@ -5228,9 +5225,9 @@ TEST_F(UsageTableDefragTest, ShrinkOverOpenSessions) {
|
||||
s1.open();
|
||||
ASSERT_NO_FATAL_FAILURE(s1.ReloadUsageEntry());
|
||||
// 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.
|
||||
ASSERT_NO_FATAL_FAILURE(ShrinkHeader(1, /* expect_success */ true));
|
||||
ASSERT_NO_FATAL_FAILURE(ShrinkHeader(1, OEMCrypto_SUCCESS));
|
||||
}
|
||||
|
||||
TEST_F(UsageTableDefragTest, EnlargeHeader) {
|
||||
@@ -5239,7 +5236,7 @@ TEST_F(UsageTableDefragTest, EnlargeHeader) {
|
||||
LoadFirstLicense(&s0, 0);
|
||||
LoadFirstLicense(&s1, 1);
|
||||
// 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) {
|
||||
|
||||
Reference in New Issue
Block a user