From d203bea228141c2a5052cdc3b476855a35b88176 Mon Sep 17 00:00:00 2001 From: Srujan Gaddam Date: Fri, 18 Jan 2019 15:20:21 -0800 Subject: [PATCH] Fix entry range for INSUFFICIENT_RESOURCES tests Bug: b/121214641 Merge of http://go/wvgerrit/70768 Tests: usage_table_header_unittests (with and without hardcoded values) DeleteEntry fails if the last entry is in use, since it cannot shrink the table any further via swapping. The LoadEntry_LoadUsageEntry... tests test to see that after deleting an entry x amount of times, the usage table can load an entry. If the entry we want to load is within x positions of the last entry of the usage table, the method cannot succeed for the aforementioned reason. Change-Id: Iccdaf538cb4bcbd34855f36c71aceaeb93b4a770 --- .../core/test/usage_table_header_unittest.cpp | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/libwvdrmengine/cdm/core/test/usage_table_header_unittest.cpp b/libwvdrmengine/cdm/core/test/usage_table_header_unittest.cpp index 0e58ef94..6b72bd20 100644 --- a/libwvdrmengine/cdm/core/test/usage_table_header_unittest.cpp +++ b/libwvdrmengine/cdm/core/test/usage_table_header_unittest.cpp @@ -980,10 +980,12 @@ TEST_F(UsageTableHeaderTest, MockUsageTableHeader* mock_usage_table_header = SetUpMock(); Init(kSecurityLevelL1, kUsageTableHeader, k10UsageEntryInfoVector); - int64_t usage_entry_number_to_load = - MockUsageTableHeader::GetRandomInRange(k10UsageEntryInfoVector.size()); + // We try to load a usage entry from the first 9 entries, since DeleteEntry + // can't delete an entry if the last one is in use. + int64_t usage_entry_number_to_load = MockUsageTableHeader::GetRandomInRange( + k10UsageEntryInfoVector.size() - 1); ASSERT_THAT(usage_entry_number_to_load, - AllOf(Ge(0), Lt((int64_t)k10UsageEntryInfoVector.size()))); + AllOf(Ge(0), Lt((int64_t)k10UsageEntryInfoVector.size() - 1))); CdmUsageEntry usage_entry_to_load = kUsageEntry; // Setup expectations @@ -1013,10 +1015,12 @@ TEST_F(UsageTableHeaderTest, MockUsageTableHeader* mock_usage_table_header = SetUpMock(); Init(kSecurityLevelL1, kUsageTableHeader, k10UsageEntryInfoVector); - int64_t usage_entry_number_to_load = - MockUsageTableHeader::GetRandomInRange(k10UsageEntryInfoVector.size()); + // We try to load a usage entry from the first 8 entries, since DeleteEntry + // can't delete an entry if the last one is in use. + int64_t usage_entry_number_to_load = MockUsageTableHeader::GetRandomInRange( + k10UsageEntryInfoVector.size() - 2); ASSERT_THAT(usage_entry_number_to_load, - AllOf(Ge(0), Lt((int64_t)k10UsageEntryInfoVector.size()))); + AllOf(Ge(0), Lt((int64_t)k10UsageEntryInfoVector.size() - 2))); CdmUsageEntry usage_entry_to_load = kUsageEntry; // Setup expectations @@ -1046,10 +1050,12 @@ TEST_F(UsageTableHeaderTest, LoadEntry_LoadUsageEntryFailsThrice) { MockUsageTableHeader* mock_usage_table_header = SetUpMock(); Init(kSecurityLevelL1, kUsageTableHeader, k10UsageEntryInfoVector); - int64_t usage_entry_number_to_load = - MockUsageTableHeader::GetRandomInRange(k10UsageEntryInfoVector.size()); + // We try to load a usage entry from the first 7 entries, since DeleteEntry + // can't delete an entry if the last one is in use. + int64_t usage_entry_number_to_load = MockUsageTableHeader::GetRandomInRange( + k10UsageEntryInfoVector.size() - 3); ASSERT_THAT(usage_entry_number_to_load, - AllOf(Ge(0), Lt((int64_t)k10UsageEntryInfoVector.size()))); + AllOf(Ge(0), Lt((int64_t)k10UsageEntryInfoVector.size() - 3))); CdmUsageEntry usage_entry_to_load = kUsageEntry; // Setup expectations