1/* 2 * Copyright (c) 2024 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16#include <gtest/gtest.h> 17 18#include "mmi_log.h" 19#include "watchdog_task.h" 20 21#undef MMI_LOG_TAG 22#define MMI_LOG_TAG "WatchdogTaskTest" 23namespace OHOS { 24namespace MMI { 25namespace { 26using namespace testing::ext; 27} // namespace 28 29class WatchdogTaskTest : public testing::Test { 30public: 31 static void SetUpTestCase(void) {} 32 static void TearDownTestCase(void) {} 33}; 34 35/** 36 * @tc.name: WatchdogTaskTest_GetFirstLine_001 37 * @tc.desc: Test the function GetFirstLine 38 * @tc.type: FUNC 39 * @tc.require: 40 */ 41HWTEST_F(WatchdogTaskTest, WatchdogTaskTest_GetFirstLine_001, TestSize.Level1) 42{ 43 CALL_TEST_DEBUG; 44 WatchdogTask watchdogtask; 45 std::string path; 46 auto ret = watchdogtask.GetFirstLine(path); 47 EXPECT_EQ(ret, path); 48} 49 50/** 51 * @tc.name: WatchdogTaskTest_GetProcessNameFromProcCmdline_001 52 * @tc.desc: Test the function GetProcessNameFromProcCmdline 53 * @tc.type: FUNC 54 * @tc.require: 55 */ 56HWTEST_F(WatchdogTaskTest, WatchdogTaskTest_GetProcessNameFromProcCmdline_001, TestSize.Level1) 57{ 58 CALL_TEST_DEBUG; 59 WatchdogTask watchdogtask; 60 std::string expectedDescription; 61 int32_t pid = -1; 62 auto ret = watchdogtask.GetProcessNameFromProcCmdline(pid); 63 EXPECT_EQ(ret, expectedDescription); 64} 65 66/** 67 * @tc.name: WatchdogTaskTest_IsNumberic_001 68 * @tc.desc: Test the function IsNumberic 69 * @tc.type: FUNC 70 * @tc.require: 71 */ 72HWTEST_F(WatchdogTaskTest, WatchdogTaskTest_IsNumberic_001, TestSize.Level1) 73{ 74 CALL_TEST_DEBUG; 75 WatchdogTask watchdogtask; 76 std::string testString = "12345"; 77 bool ret = watchdogtask.IsNumberic(testString); 78 EXPECT_TRUE(ret); 79} 80 81/** 82 * @tc.name: WatchdogTaskTest_IsProcessDebug_001 83 * @tc.desc: Test the function IsProcessDebug 84 * @tc.type: FUNC 85 * @tc.require: 86 */ 87HWTEST_F(WatchdogTaskTest, WatchdogTaskTest_IsProcessDebug_001, TestSize.Level1) 88{ 89 CALL_TEST_DEBUG; 90 WatchdogTask watchdogtask; 91 int32_t pid = 1; 92 bool ret = watchdogtask.IsProcessDebug(pid); 93 EXPECT_FALSE(ret); 94} 95 96/** 97 * @tc.name: WatchdogTaskTest_GetBlockDescription_001 98 * @tc.desc: Test the function GetBlockDescription 99 * @tc.type: FUNC 100 * @tc.require: 101 */ 102HWTEST_F(WatchdogTaskTest, WatchdogTaskTest_GetBlockDescription_001, TestSize.Level1) 103{ 104 CALL_TEST_DEBUG; 105 WatchdogTask watchdogtask; 106 std::string desc = "Watchdog: thread(mmi_service) blocked 5000s"; 107 uint64_t timeInterval = 5000; 108 auto ret = watchdogtask.GetBlockDescription(timeInterval); 109 EXPECT_EQ(ret, desc); 110} 111 112/** 113 * @tc.name: WatchdogTaskTest_GetSelfProcName_001 114 * @tc.desc: Test the function GetSelfProcName 115 * @tc.type: FUNC 116 * @tc.require: 117 */ 118HWTEST_F(WatchdogTaskTest, WatchdogTaskTest_GetSelfProcName_001, TestSize.Level1) 119{ 120 CALL_TEST_DEBUG; 121 WatchdogTask watchdogtask; 122 std::string desc = "ut-mmi-service-"; 123 auto ret = watchdogtask.GetSelfProcName(); 124 EXPECT_NE(ret, desc); 125} 126 127/** 128 * @tc.name: WatchdogTaskTest_SendEvent_001 129 * @tc.desc: Test the function SendEvent 130 * @tc.type: FUNC 131 * @tc.require: 132 */ 133HWTEST_F(WatchdogTaskTest, WatchdogTaskTest_SendEvent_001, TestSize.Level1) 134{ 135 CALL_TEST_DEBUG; 136 WatchdogTask watchdogtask; 137 std::string message = "This is a test message"; 138 std::string event = "TestEvent"; 139 ASSERT_NO_FATAL_FAILURE(watchdogtask.SendEvent(message, event)); 140} 141} // namespace MMI 142} // namespace OHOS