From e0106252b60d2f28daf3a4310187385efbae46f9 Mon Sep 17 00:00:00 2001 From: dongsenhao Date: Wed, 16 Aug 2023 12:53:13 +0800 Subject: [PATCH] repair purgeableresourcemanager_test Signed-off-by: dongsenhao --- libpurgeablemem/cpp/src/purgeable_resource_manager.cpp | 4 ++++ libpurgeablemem/test/purgeableresourcemanager_test.cpp | 9 +++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/libpurgeablemem/cpp/src/purgeable_resource_manager.cpp b/libpurgeablemem/cpp/src/purgeable_resource_manager.cpp index 7e7dffb..cd40cb9 100644 --- a/libpurgeablemem/cpp/src/purgeable_resource_manager.cpp +++ b/libpurgeablemem/cpp/src/purgeable_resource_manager.cpp @@ -201,6 +201,10 @@ void PurgeableResourceManager::EndAccessPurgeableMem() void PurgeableResourceManager::ChangeDataValid(std::shared_ptr resourcePtr, bool isVaild) const { + if (resourcePtr == nullptr) { + return; + } + StartTrace(HITRACE_TAG_ZIMAGE, "OHOS::PurgeableMem::PurgeableResourceManager::ChangeDataValid"); std::lock_guard dataLock(resourcePtr->dataLock_); resourcePtr->SetDataValid(isVaild); diff --git a/libpurgeablemem/test/purgeableresourcemanager_test.cpp b/libpurgeablemem/test/purgeableresourcemanager_test.cpp index 1a2060d..17ec71e 100644 --- a/libpurgeablemem/test/purgeableresourcemanager_test.cpp +++ b/libpurgeablemem/test/purgeableresourcemanager_test.cpp @@ -144,10 +144,10 @@ HWTEST_F(PurgeableResourceManagerTest, EndAccessPurgeableMemTest, TestSize.Level HWTEST_F(PurgeableResourceManagerTest, AddResourceTest, TestSize.Level1) { std::shared_ptr key = std::make_shared(); - PurgeableResourceManager::GetInstance().AddResource(nullptr); PurgeableResourceManager::GetInstance().AddResource(key); - EXPECT_EQ(PurgeableResourceManager::GetInstance().lruCache_.Size(), 1); + PurgeableResourceManager::GetInstance().AddResource(nullptr); PurgeableResourceManager::GetInstance().Clear(); + EXPECT_EQ(PurgeableResourceManager::GetInstance().lruCache_.Size(), 0); } HWTEST_F(PurgeableResourceManagerTest, RemoveResourceTest, TestSize.Level1) @@ -155,10 +155,11 @@ HWTEST_F(PurgeableResourceManagerTest, RemoveResourceTest, TestSize.Level1) std::shared_ptr key = std::make_shared(); PurgeableResourceManager::GetInstance().RemoveResource(nullptr); PurgeableResourceManager::GetInstance().AddResource(key); - EXPECT_EQ(PurgeableResourceManager::GetInstance().lruCache_.Size(), 1); PurgeableResourceManager::GetInstance().RemoveResource(key); - EXPECT_EQ(PurgeableResourceManager::GetInstance().lruCache_.Size(), 0); + PurgeableResourceManager::GetInstance().ChangeDataValid(key, true) ; + PurgeableResourceManager::GetInstance().ChangeDataValid(nullptr, true); PurgeableResourceManager::GetInstance().Clear(); + EXPECT_EQ(PurgeableResourceManager::GetInstance().lruCache_.Size(), 0); } HWTEST_F(PurgeableResourceManagerTest, SetRecentUsedResourceTest, TestSize.Level1) -- Gitee