Merge "Revert "Core CDM: Remove usage info as a run-time type.""

This commit is contained in:
Alex Dale
2022-11-30 01:46:17 +00:00
committed by Android (Google) Code Review
10 changed files with 1066 additions and 868 deletions

View File

@@ -2920,17 +2920,17 @@ constexpr size_t kNumberOfHlsAttributes = ArraySize(kHlsAttributesTestData);
// kUsageTableInfoTestData are equal.
const std::vector<CdmUsageEntryInfo> kUsageEntriesTestData = {
// usage entry 0
{"ksid0", 1318402800, 1321254000},
{kStorageLicense, "ksid0", "", 1318402800, 1321254000},
// usage entry 1
{"ksid1", 1050649200, 1053500400},
{kStorageLicense, "ksid1", "", 1050649200, 1053500400},
// usage entry 2
{"", 0, 0},
{kStorageTypeUnknown, "", "", 0, 0},
// usage entry 3
{"", 0, 0},
{kStorageTypeUnknown, "", "", 0, 0},
// usage entry 4
{"ksid4", 316166400, 319017600},
{kStorageLicense, "ksid4", "", 316166400, 319017600},
// usage entry 5
{"ksid5", 316166400, 319017600},
{kStorageLicense, "ksid5", "", 316166400, 319017600},
};
struct UsageTableTestInfo {
@@ -3008,8 +3008,8 @@ const UsageTableTestInfo kUsageTableInfoTestData[] = {
"ce072f3d2ef52febcaddff3040246a638deee994a0862142")},
};
const CdmUsageEntryInfo kUsageEntriesWithoutLruData[] = {{"ksid0", 0, 0},
{"", 0, 0}};
const CdmUsageEntryInfo kUsageEntriesWithoutLruData[] = {
{kStorageLicense, "ksid0", "", 0, 0}, {kStorageTypeUnknown, "", "", 0, 0}};
const std::string kUsageTableWithoutLruData = a2bs_hex(
"0A1F080510013A191209080112056B73696430120C08021A086170705F69645F"
@@ -3030,7 +3030,9 @@ const UsageTableTestInfo kUsageTableInfoWithUsageInfoType = {
// Expected entries after removal of USAGE_INFO.
const std::vector<CdmUsageEntryInfo> kUsageEntriesWithoutUsageInfoType = {
{"ksid0", 1318402800, 1321254000}, {"", 0, 0}, {"", 0, 0}};
{kStorageLicense, "ksid0", "", 1318402800, 1321254000},
{kStorageTypeUnknown, "", "", 0, 0},
{kStorageTypeUnknown, "", "", 0, 0}};
// Contains kOemCertificate and kCryptoWrappedKey
const std::string kFakeOemCertificateFile = a2bs_hex(
@@ -4387,11 +4389,11 @@ TEST_P(DeviceFilesUsageTableTest, Store) {
const int entry_count = GetParam();
std::vector<std::string> entry_data;
const std::vector<CdmUsageEntryInfo> usage_entry_info_list(
const std::vector<CdmUsageEntryInfo> usage_entry_info(
kUsageEntriesTestData.begin(),
kUsageEntriesTestData.begin() + entry_count);
for (int i = 0; i < entry_count; ++i) {
entry_data.push_back(kUsageEntriesTestData[i].key_set_id());
entry_data.push_back(kUsageEntriesTestData[i].key_set_id);
}
entry_data.push_back(kUsageTableInfoTestData[entry_count].usage_table_header);
@@ -4409,7 +4411,7 @@ TEST_P(DeviceFilesUsageTableTest, Store) {
EXPECT_TRUE(device_files.Init(kSecurityLevelL1));
ASSERT_TRUE(device_files.StoreUsageTableInfo(
kUsageTableInfoTestData[entry_count].usage_table_header,
usage_entry_info_list));
usage_entry_info));
}
TEST_P(DeviceFilesUsageTableTest, Read) {
@@ -4435,20 +4437,20 @@ TEST_P(DeviceFilesUsageTableTest, Read) {
DeviceFiles device_files(&file_system);
EXPECT_TRUE(device_files.Init(kSecurityLevelL1));
std::vector<CdmUsageEntryInfo> usage_entry_info_list;
std::vector<CdmUsageEntryInfo> usage_entry_info;
CdmUsageTableHeader usage_table_header;
bool lru_upgrade;
bool has_usage_info_entries;
ASSERT_TRUE(device_files.RetrieveUsageTableInfo(
&usage_table_header, &usage_entry_info_list, &lru_upgrade,
&usage_table_header, &usage_entry_info, &lru_upgrade,
&has_usage_info_entries));
EXPECT_EQ(kUsageTableInfoTestData[entry_count].usage_table_header,
usage_table_header);
EXPECT_EQ(entry_count, usage_entry_info_list.size());
EXPECT_EQ(entry_count, usage_entry_info.size());
for (size_t i = 0; i < entry_count; ++i) {
// TODO(b/242289743): Update test data to exclude usage info files.
EXPECT_EQ(usage_entry_info_list[i], kUsageEntriesTestData[i]);
EXPECT_EQ(usage_entry_info[i], kUsageEntriesTestData[i]);
}
EXPECT_FALSE(lru_upgrade);
}
@@ -4476,20 +4478,19 @@ TEST_F(DeviceFilesUsageTableTest, ReadWithoutLruData) {
DeviceFiles device_files(&file_system);
EXPECT_TRUE(device_files.Init(kSecurityLevelL1));
std::vector<CdmUsageEntryInfo> usage_entry_info_list;
std::vector<CdmUsageEntryInfo> usage_entry_info;
CdmUsageTableHeader usage_table_header;
bool lru_upgrade;
bool has_usage_info_entries;
ASSERT_TRUE(device_files.RetrieveUsageTableInfo(
&usage_table_header, &usage_entry_info_list, &lru_upgrade,
&usage_table_header, &usage_entry_info, &lru_upgrade,
&has_usage_info_entries));
EXPECT_EQ(ArraySize(kUsageEntriesWithoutLruData),
usage_entry_info_list.size());
EXPECT_EQ(ArraySize(kUsageEntriesWithoutLruData), usage_entry_info.size());
for (size_t i = 0; i < ArraySize(kUsageEntriesWithoutLruData); ++i) {
const CdmUsageEntryInfo& expected_entry = kUsageEntriesWithoutLruData[i];
const CdmUsageEntryInfo& retrieved_entry = usage_entry_info_list[i];
const CdmUsageEntryInfo& retrieved_entry = usage_entry_info[i];
EXPECT_EQ(expected_entry, retrieved_entry);
}
@@ -4519,21 +4520,20 @@ TEST_F(DeviceFilesUsageTableTest, ReadWithUsageInfoType) {
DeviceFiles device_files(&file_system);
EXPECT_TRUE(device_files.Init(kSecurityLevelL1));
std::vector<CdmUsageEntryInfo> usage_entry_info_list;
std::vector<CdmUsageEntryInfo> usage_entry_info;
CdmUsageTableHeader usage_table_header;
bool lru_upgrade;
bool has_usage_info_entries;
ASSERT_TRUE(device_files.RetrieveUsageTableInfo(
&usage_table_header, &usage_entry_info_list, &lru_upgrade,
&usage_table_header, &usage_entry_info, &lru_upgrade,
&has_usage_info_entries));
EXPECT_EQ(kUsageEntriesWithoutUsageInfoType.size(),
usage_entry_info_list.size());
EXPECT_EQ(kUsageEntriesWithoutUsageInfoType.size(), usage_entry_info.size());
for (size_t i = 0; i < kUsageEntriesWithoutUsageInfoType.size(); ++i) {
const CdmUsageEntryInfo& expected_entry =
kUsageEntriesWithoutUsageInfoType[i];
const CdmUsageEntryInfo& retrieved_entry = usage_entry_info_list[i];
const CdmUsageEntryInfo& retrieved_entry = usage_entry_info[i];
EXPECT_EQ(expected_entry, retrieved_entry);
}

File diff suppressed because it is too large Load Diff