diff --git a/test/unittest/datatransmitmgr/BUILD.gn b/test/unittest/datatransmitmgr/BUILD.gn index e05d367fab3fe7565696bb6a9ee130e94143eaa6..96cb2b0171acc3d8c2cce760b2d607b28c23ab1a 100644 --- a/test/unittest/datatransmitmgr/BUILD.gn +++ b/test/unittest/datatransmitmgr/BUILD.gn @@ -33,6 +33,18 @@ ohos_unittest("DevSLMgrTest") { sources = [ "DevSLMgrTest.cpp" ] + if (os_level == "standard") { + sanitize = { + cfi = true + cfi_cross_dso = true + debug = false + integer_overflow = true + ubsan = true + boundary_sanitize = true + stack_protector_ret = true + } + } + deps = [ "//base/security/access_token/interfaces/innerkits/accesstoken:libaccesstoken_sdk", "//base/security/access_token/interfaces/innerkits/nativetoken:libnativetoken", diff --git a/test/unittest/datatransmitmgr/DevSLMgrTest.cpp b/test/unittest/datatransmitmgr/DevSLMgrTest.cpp index 4239512f69b344b36aa6caf7c67bc299be2f6934..2e5fd646dbf9ad1b255b3eb286d84d2d19734254 100644 --- a/test/unittest/datatransmitmgr/DevSLMgrTest.cpp +++ b/test/unittest/datatransmitmgr/DevSLMgrTest.cpp @@ -253,6 +253,36 @@ static HWTEST_F(DevSLMgrTest, TestGetHighestSecLevelAsync003, TestSize.Level1) DATASL_OnStop(); } +static int32_t g_cnt = 0; +static std::mutex g_mtx; +static std::condition_variable g_cv; + +static void tmpCallbackLocal(DEVSLQueryParams *queryParams, int32_t result, uint32_t levelInfo) +{ + g_cnt++; + EXPECT_EQ(DEVSL_SUCCESS, result); +} + +static HWTEST_F(DevSLMgrTest, TestGetHighestSecLevelAsync004, TestSize.Level1) +{ + int32_t ret; + DEVSLQueryParams queryParams; + (void)memset_s(&queryParams, sizeof(queryParams), 0, sizeof(queryParams)); + ret = GetLocalUdid(&queryParams); + EXPECT_EQ(DEVSL_SUCCESS, ret); + + ret = DATASL_OnStart(); + EXPECT_EQ(DEVSL_SUCCESS, ret); + ret = DATASL_GetHighestSecLevelAsync(&queryParams, &tmpCallbackLocal); + EXPECT_EQ(DEVSL_SUCCESS, ret); + + std::unique_lock lck(g_mtx); + g_cv.wait_for(lck, std::chrono::milliseconds(2000), []() { return (g_cnt == 1); }); + EXPECT_EQ(g_cnt, 1); + + DATASL_OnStop(); +} + static HWTEST_F(DevSLMgrTest, TestGetHighestSecLevelExcept001, TestSize.Level1) { OnApiDeviceSecInfoCallback(nullptr, nullptr);