Merge changes I2f7052b6,Ifbfaf97c

* changes:
  Test Cleanup
  Report error OEMCrypto_ERROR_ENTRY_IN_USE
This commit is contained in:
Fred Gylys-Colwell
2017-03-08 20:44:36 +00:00
committed by Android (Google) Code Review
4 changed files with 12 additions and 14 deletions

View File

@@ -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;

View File

@@ -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();

View File

@@ -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");

View File

@@ -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) {