Commit d86d846c authored by Xu Xing's avatar Xu Xing Committed by Commit Bot

Add test for MEMORY_PRESSURE_LEVEL_MODERATE

BUG=NONE

Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I4626621916085e01fec25150da5ea1fba9cd63a8
Reviewed-on: https://chromium-review.googlesource.com/1139579Reviewed-by: default avatarEric Karl <ericrk@chromium.org>
Commit-Queue: Xing Xu <xing.xu@intel.com>
Cr-Commit-Position: refs/heads/master@{#576272}
parent 33003571
......@@ -24,6 +24,7 @@ TEST(ServiceTransferCacheTest, EnforcesOnPurgeMemory) {
ServiceTransferCache cache;
uint32_t entry_id = 0u;
size_t entry_size = 1024u;
uint32_t number_of_entry = 4u;
cache.CreateLocalEntry(
ServiceTransferCache::EntryKey(kDecoderId, kEntryType, ++entry_id),
......@@ -32,6 +33,27 @@ TEST(ServiceTransferCacheTest, EnforcesOnPurgeMemory) {
cache.PurgeMemory(
base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL);
EXPECT_EQ(cache.cache_size_for_testing(), 0u);
cache.SetCacheSizeLimitForTesting(entry_size * number_of_entry);
// Create 4 entries, all in the cache.
for (uint32_t i = 0; i < number_of_entry; i++) {
cache.CreateLocalEntry(
ServiceTransferCache::EntryKey(kDecoderId, kEntryType, ++entry_id),
CreateEntry(entry_size));
EXPECT_EQ(cache.cache_size_for_testing(), entry_size * (i + 1));
}
// The 5th entry creates successfully. But the 1st entry will be purged due to
// cache limits.
cache.CreateLocalEntry(
ServiceTransferCache::EntryKey(kDecoderId, kEntryType, ++entry_id),
CreateEntry(entry_size));
EXPECT_EQ(cache.cache_size_for_testing(), entry_size * 4);
cache.PurgeMemory(
base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_MODERATE);
// Only 1/4 of cache limits remains.
EXPECT_EQ(cache.cache_size_for_testing(), entry_size);
}
TEST(ServiceTransferCache, MultipleDecoderUse) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment