diff --git a/services/distributeddataservice/service/test/BUILD.gn b/services/distributeddataservice/service/test/BUILD.gn index 78c5d87cd3c5e7f4479685faa3e3e4ce3ec6b791..1e6a5271433c300b121d9472814b083681531a83 100644 --- a/services/distributeddataservice/service/test/BUILD.gn +++ b/services/distributeddataservice/service/test/BUILD.gn @@ -935,6 +935,13 @@ ohos_unittest("MetaDataTest") { } ohos_unittest("UdmfRunTimeStoreTest") { + sanitize = { + cfi = true + cfi_cross_dso = true + debug = false + blocklist = "${datamgr_service_path}/cfi_blocklist.txt" + } + module_out_path = module_output_path sources = [ "${data_service_path}/app/src/kvstore_meta_manager.cpp", diff --git a/services/distributeddataservice/service/test/udmf_run_time_store_test.cpp b/services/distributeddataservice/service/test/udmf_run_time_store_test.cpp index 4dbf15f489d6138470c81b6329fdd84b2d9487c2..486cd352932453c5d171085c490643b291f1201f 100644 --- a/services/distributeddataservice/service/test/udmf_run_time_store_test.cpp +++ b/services/distributeddataservice/service/test/udmf_run_time_store_test.cpp @@ -92,6 +92,7 @@ public: const std::string STORE_ID = "drag"; const std::string KEY_PREFIX = "TEST_"; const std::string EMPTY_DEVICE_ID = ""; + const std::string BUNDLE_NAME = "udmf_test"; static constexpr size_t tempUdataRecordSize = 1; }; @@ -124,6 +125,9 @@ HWTEST_F(UdmfRunTimeStoreTest, PutEntries001, TestSize.Level1) bool result = store->Init(); EXPECT_EQ(true, result); + auto status = store->Delete(KEY_PREFIX); + EXPECT_EQ(E_OK, status); + Key key; Value value; GetRandomValue(value, MAX_KEY_SIZE); // 1K @@ -133,7 +137,7 @@ HWTEST_F(UdmfRunTimeStoreTest, PutEntries001, TestSize.Level1) entrysRand.push_back({ key, value }); } - int32_t status = store->PutEntries(entrysRand); + status = store->PutEntries(entrysRand); EXPECT_EQ(E_OK, status); vector entries; @@ -412,24 +416,17 @@ HWTEST_F(UdmfRunTimeStoreTest, Get001, TestSize.Level1) bool result = store->Init(); EXPECT_TRUE(result); - Key key; Key keyInvalid; Value value; - Value valueInvalid; - GetRandomKey(key, MAX_KEY_SIZE); // 1K GetRandomKey(keyInvalid, MAX_KEY_SIZE + 1); // 1K + 1 GetRandomValue(value, MAX_VALUE_SIZE); // 4M - GetRandomValue(valueInvalid, MAX_VALUE_SIZE + 1); // 4M + 1 vector entrysMix1(1, { keyInvalid, value }); - vector entrysMix2(1, { key, valueInvalid }); - UnifiedData unifiedData; int32_t status = store->PutEntries(entrysMix1); EXPECT_EQ(E_DB_ERROR, status); + entrysMix1.clear(); status = store->GetEntries(KEY_PREFIX, entrysMix1); EXPECT_EQ(E_OK, status); - - status = store->Get(KEY_PREFIX, unifiedData); - EXPECT_EQ(E_NOT_FOUND, status); + EXPECT_TRUE(entrysMix1.empty()); status = store->Delete(KEY_PREFIX); EXPECT_EQ(E_OK, status); @@ -458,11 +455,10 @@ HWTEST_F(UdmfRunTimeStoreTest, Get002, TestSize.Level1) } auto status = store->PutEntries(entrysRand); EXPECT_EQ(E_DB_ERROR, status); - status = store->GetEntries(EMPTY_DEVICE_ID, entrysRand); + entrysRand.clear(); + status = store->GetEntries(KEY_PREFIX, entrysRand); EXPECT_EQ(E_OK, status); - UnifiedData data1; - status = store->Get(EMPTY_DEVICE_ID, data1); - EXPECT_EQ(E_NOT_FOUND, status); + EXPECT_TRUE(entrysRand.empty()); status = store->Delete(KEY_PREFIX); EXPECT_EQ(E_OK, status); @@ -679,16 +675,18 @@ HWTEST_F(UdmfRunTimeStoreTest, GetSummary, TestSize.Level1) */ HWTEST_F(UdmfRunTimeStoreTest, GetRuntime001, TestSize.Level1) { + UnifiedKey udKey(STORE_ID, BUNDLE_NAME, UDMF::PreProcessUtils::GenerateId()); + Runtime runtime{ + .key = udKey + }; UnifiedData inputData; - CustomOption option = {.intention = Intention::UD_INTENTION_DRAG}; - auto status = PreProcessUtils::FillRuntimeInfo(inputData, option); - EXPECT_EQ(status, E_OK); + inputData.SetRuntime(runtime); auto key = inputData.GetRuntime()->key.GetUnifiedKey(); auto store = std::make_shared(STORE_ID); bool result = store->Init(); EXPECT_TRUE(result); - status = store->PutRuntime(key, *inputData.GetRuntime()); + auto status = store->PutRuntime(key, *inputData.GetRuntime()); EXPECT_EQ(status, E_OK); Runtime outRuntime; @@ -705,10 +703,12 @@ HWTEST_F(UdmfRunTimeStoreTest, GetRuntime001, TestSize.Level1) */ HWTEST_F(UdmfRunTimeStoreTest, GetRuntime002, TestSize.Level1) { + UnifiedKey udKey(STORE_ID, BUNDLE_NAME, UDMF::PreProcessUtils::GenerateId()); + Runtime runtime{ + .key = udKey + }; UnifiedData inputData; - CustomOption option = {.intention = Intention::UD_INTENTION_DRAG}; - auto status = PreProcessUtils::FillRuntimeInfo(inputData, option); - EXPECT_EQ(status, E_OK); + inputData.SetRuntime(runtime); auto key = inputData.GetRuntime()->key.GetUnifiedKey(); auto store = std::make_shared(STORE_ID); @@ -716,7 +716,7 @@ HWTEST_F(UdmfRunTimeStoreTest, GetRuntime002, TestSize.Level1) EXPECT_TRUE(result); Runtime outRuntime; - status = store->GetRuntime(key, outRuntime); + auto status = store->GetRuntime(key, outRuntime); EXPECT_EQ(status, E_NOT_FOUND); } }; // namespace DistributedDataTest