[zhoulongyu]: 1.LedTimer的代码 2. 增加Led_Test的代码
This commit is contained in:
		
							parent
							
								
									92a62a1db6
								
							
						
					
					
						commit
						69b327bfdc
					
				| 
						 | 
				
			
			@ -22,7 +22,7 @@ aux_source_directory(./src SRC_FILES)
 | 
			
		|||
set(TARGET_NAME DeviceManager)
 | 
			
		||||
add_library(${TARGET_NAME} STATIC ${SRC_FILES})
 | 
			
		||||
 | 
			
		||||
target_link_libraries(${TARGET_NAME} StatusCode Log)
 | 
			
		||||
target_link_libraries(${TARGET_NAME} Hal StatusCode Log)
 | 
			
		||||
 | 
			
		||||
if ("${CLANG_TIDY_SUPPORT}" MATCHES "true")
 | 
			
		||||
add_custom_target(
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,6 +14,7 @@
 | 
			
		|||
 */
 | 
			
		||||
#ifndef IDEVICEMANAGER_H
 | 
			
		||||
#define IDEVICEMANAGER_H
 | 
			
		||||
#include "ILog.h"
 | 
			
		||||
#include "StatusCode.h"
 | 
			
		||||
#include <iostream>
 | 
			
		||||
#include <memory>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,6 +14,7 @@
 | 
			
		|||
 */
 | 
			
		||||
 | 
			
		||||
#include "DeviceManager.h"
 | 
			
		||||
#include "LedTimer.h"
 | 
			
		||||
#include <vector>
 | 
			
		||||
 | 
			
		||||
const StatusCode DeviceManager::Init(void)
 | 
			
		||||
| 
						 | 
				
			
			@ -26,7 +27,10 @@ const StatusCode DeviceManager::Init(void)
 | 
			
		|||
        std::shared_ptr<LedManager> ledOut =
 | 
			
		||||
            std::make_shared<LedManager>(ledHal, NEW_LED_STATE, DEFAULT_KEEP_ALIVE_TIME, LED_NOT_BLINK);
 | 
			
		||||
        mLedManagers.push_back(ledOut);
 | 
			
		||||
        LedTimer::GetInstance()->AddTimerLedManager(ledOut);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    LedTimer::GetInstance()->Init();
 | 
			
		||||
    return CreateStatusCode(STATUS_CODE_OK);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -35,7 +39,7 @@ const StatusCode DeviceManager::UnInit(void)
 | 
			
		|||
    if (!mLedManagers.empty()) {
 | 
			
		||||
        mLedManagers.clear();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    LedTimer::GetInstance()->UnInit();
 | 
			
		||||
    return CreateStatusCode(STATUS_CODE_OK);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -44,6 +48,10 @@ const IpcMission DeviceManager::GetIpcMission(void) { return IpcMission::TEST; }
 | 
			
		|||
const StatusCode DeviceManager::ISetLedState(std::string ledName, LedState &CurrentState,
 | 
			
		||||
                                             const unsigned int &KeepAliveTime, const unsigned int &BlinkPeriod)
 | 
			
		||||
{
 | 
			
		||||
    if (!ledName.empty() || *ledName.c_str() == '\0') {
 | 
			
		||||
        LogDebug("\n\n\n\n %s  %d\n\n\n", __func__, __LINE__);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    for (auto it = mLedManagers.begin(); it != mLedManagers.end(); ++it) {
 | 
			
		||||
        std::shared_ptr<LedManager> ledOut = *it;
 | 
			
		||||
        if (ledOut->GetLedHal()->GetLedName() == ledName) {
 | 
			
		||||
| 
						 | 
				
			
			@ -51,5 +59,6 @@ const StatusCode DeviceManager::ISetLedState(std::string ledName, LedState &Curr
 | 
			
		|||
            return CreateStatusCode(STATUS_CODE_OK);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    LogWarning("ledName(%s) not found", ledName.c_str());
 | 
			
		||||
    return CreateStatusCode(STATUS_CODE_NOT_OK);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,6 +13,7 @@
 | 
			
		|||
 * limitations under the License.
 | 
			
		||||
 */
 | 
			
		||||
#include "DeviceManagerMakePtr.h"
 | 
			
		||||
#include "DeviceManager.h"
 | 
			
		||||
#include "ILog.h"
 | 
			
		||||
bool CreateDeviceManagerModule(void)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -35,7 +36,7 @@ std::shared_ptr<DeviceManagerMakePtr> &DeviceManagerMakePtr::GetInstance(std::sh
 | 
			
		|||
}
 | 
			
		||||
const StatusCode DeviceManagerMakePtr::CreateDeviceManager(std::shared_ptr<IDeviceManager> &impl)
 | 
			
		||||
{
 | 
			
		||||
    auto tmp = std::make_shared<IDeviceManager>();
 | 
			
		||||
    auto tmp = std::make_shared<DeviceManager>();
 | 
			
		||||
    impl = tmp;
 | 
			
		||||
    return CreateStatusCode(STATUS_CODE_OK);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -52,14 +52,14 @@ StatusCode LedManager::GetLedState(LedState &CurrentState)
 | 
			
		|||
    return CreateStatusCode(STATUS_CODE_OK);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
StatusCode LedManager::BlinkOn(LedState CurrentState, unsigned int KeepAliveTime)
 | 
			
		||||
{
 | 
			
		||||
    mKeepAliveTime = KeepAliveTime;
 | 
			
		||||
    return CreateStatusCode(STATUS_CODE_OK);
 | 
			
		||||
}
 | 
			
		||||
// StatusCode LedManager::BlinkOn(LedState CurrentState, unsigned int KeepAliveTime)
 | 
			
		||||
// {
 | 
			
		||||
//     mKeepAliveTime = KeepAliveTime;
 | 
			
		||||
//     return CreateStatusCode(STATUS_CODE_OK);
 | 
			
		||||
// }
 | 
			
		||||
 | 
			
		||||
StatusCode LedManager::BlinkOff(void)
 | 
			
		||||
{
 | 
			
		||||
    mCurrentState = LedState::LED_STATE_OFF;
 | 
			
		||||
    return CreateStatusCode(STATUS_CODE_OK);
 | 
			
		||||
}
 | 
			
		||||
// StatusCode LedManager::BlinkOff(void)
 | 
			
		||||
// {
 | 
			
		||||
//     mCurrentState = LedState::LED_STATE_OFF;
 | 
			
		||||
//     return CreateStatusCode(STATUS_CODE_OK);
 | 
			
		||||
// }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,8 +44,8 @@ public:
 | 
			
		|||
    StatusCode SetLedState(LedState &CurrentState, const unsigned int &KeepAliveTime = DEFAULT_KEEP_ALIVE_TIME,
 | 
			
		||||
                           const unsigned int &BlinkPeriod = LED_NOT_BLINK);
 | 
			
		||||
    StatusCode GetLedState(LedState &CurrentState);
 | 
			
		||||
    StatusCode BlinkOn(LedState CurrentState, unsigned int KeepAliveTime);
 | 
			
		||||
    StatusCode BlinkOff(void);
 | 
			
		||||
    // StatusCode BlinkOn(LedState CurrentState, unsigned int KeepAliveTime);
 | 
			
		||||
    // StatusCode BlinkOff(void);
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    std::shared_ptr<VLedHal> mLedHal;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										76
									
								
								middleware/DeviceManager/src/LedTimer.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								middleware/DeviceManager/src/LedTimer.cpp
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,76 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright (c) 2023 Fancy Code.
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "LedTimer.h"
 | 
			
		||||
// #include "Log.h"
 | 
			
		||||
LedTimer::LedTimer() { mTimerRuning = false; }
 | 
			
		||||
std::shared_ptr<LedTimer> &LedTimer::GetInstance(std::shared_ptr<LedTimer> *impl)
 | 
			
		||||
{
 | 
			
		||||
    static auto instance = std::make_shared<LedTimer>();
 | 
			
		||||
    // if (impl)
 | 
			
		||||
    // {
 | 
			
		||||
    //     instance = *impl;
 | 
			
		||||
    // }
 | 
			
		||||
    return instance;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// void LedTimer::Init(std::vector<std::shared_ptr<LedManager>> &LedManagers)
 | 
			
		||||
void LedTimer::Init(void)
 | 
			
		||||
{
 | 
			
		||||
    // TimerLedManagers = LedManagers;
 | 
			
		||||
    StartTimer();
 | 
			
		||||
}
 | 
			
		||||
void LedTimer::UnInit(void)
 | 
			
		||||
{
 | 
			
		||||
    StopTimer();
 | 
			
		||||
    TimerLedManagers.clear();
 | 
			
		||||
}
 | 
			
		||||
void LedTimer::StartTimer(void)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
    auto timerThread = [](std::shared_ptr<LedTimer> timer) { timer->Timer(); };
 | 
			
		||||
    mTimer = std::thread(timerThread, shared_from_this());
 | 
			
		||||
}
 | 
			
		||||
void LedTimer::StopTimer(void)
 | 
			
		||||
{
 | 
			
		||||
    mTimerRuning = false;
 | 
			
		||||
    if (mTimer.joinable()) {
 | 
			
		||||
        mTimer.join();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
void LedTimer::Timer(void)
 | 
			
		||||
{
 | 
			
		||||
    mTimerRuning = true;
 | 
			
		||||
    while (mTimerRuning) {
 | 
			
		||||
        mMutex.lock();
 | 
			
		||||
        CheckState();
 | 
			
		||||
        mMutex.unlock();
 | 
			
		||||
        std::this_thread::sleep_for(std::chrono::milliseconds(LED_STATE_CHECK_PERIOD_MS));
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
const StatusCode LedTimer::AddTimerLedManager(std::shared_ptr<LedManager> &LedManager)
 | 
			
		||||
{
 | 
			
		||||
    TimerLedManagers.push_back(LedManager);
 | 
			
		||||
    return CreateStatusCode(STATUS_CODE_OK);
 | 
			
		||||
}
 | 
			
		||||
const StatusCode LedTimer::CheckState(void)
 | 
			
		||||
{
 | 
			
		||||
    int count = 0;
 | 
			
		||||
    for (auto it = TimerLedManagers.begin(); it != TimerLedManagers.end(); ++it) {
 | 
			
		||||
        std::shared_ptr<LedManager> LedManager = *it;
 | 
			
		||||
        LogInfo("%s  %d  count = %d\n\n", __func__, __LINE__, count++);
 | 
			
		||||
    }
 | 
			
		||||
    return CreateStatusCode(STATUS_CODE_OK);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										50
									
								
								middleware/DeviceManager/src/LedTimer.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								middleware/DeviceManager/src/LedTimer.h
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,50 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright (c) 2023 Fancy Code.
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 */
 | 
			
		||||
#ifndef LEDTIMER_H
 | 
			
		||||
#define LEDTIMER_H
 | 
			
		||||
 | 
			
		||||
#include "LedManager.h"
 | 
			
		||||
#include <map>
 | 
			
		||||
#include <memory>
 | 
			
		||||
#include <mutex>
 | 
			
		||||
#include <thread>
 | 
			
		||||
 | 
			
		||||
constexpr int LED_STATE_CHECK_PERIOD_MS = 100;
 | 
			
		||||
 | 
			
		||||
class LedTimer : public std::enable_shared_from_this<LedTimer>
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
    LedTimer();
 | 
			
		||||
    ~LedTimer() = default;
 | 
			
		||||
    static std::shared_ptr<LedTimer> &GetInstance(std::shared_ptr<LedTimer> *impl = nullptr);
 | 
			
		||||
    // void Init(std::vector<std::shared_ptr<LedManager>> &LedManagers);
 | 
			
		||||
    void Init(void);
 | 
			
		||||
    void UnInit(void);
 | 
			
		||||
    void Timer(void);
 | 
			
		||||
    const StatusCode CheckState(void);
 | 
			
		||||
    const StatusCode AddTimerLedManager(std::shared_ptr<LedManager> &LedManager);
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    void StartTimer(void);
 | 
			
		||||
    void StopTimer(void);
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    std::vector<std::shared_ptr<LedManager>> TimerLedManagers;
 | 
			
		||||
    std::mutex mMutex;
 | 
			
		||||
    bool mTimerRuning;
 | 
			
		||||
    std::thread mTimer;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -2,4 +2,5 @@
 | 
			
		|||
# cmake_minimum_required(VERSION 2.8.0)
 | 
			
		||||
add_subdirectory(IpcConfig)
 | 
			
		||||
add_subdirectory(McuManager)
 | 
			
		||||
add_subdirectory(McuAskBase)
 | 
			
		||||
add_subdirectory(McuAskBase)
 | 
			
		||||
add_subdirectory(LedTest)
 | 
			
		||||
							
								
								
									
										84
									
								
								test/middleware/LedTest/CMakeLists.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										84
									
								
								test/middleware/LedTest/CMakeLists.txt
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,84 @@
 | 
			
		|||
# include(${CMAKE_SOURCE_DIR}/build/independent_source.cmake)
 | 
			
		||||
 | 
			
		||||
# 变量赋值
 | 
			
		||||
include(${CMAKE_SOURCE_DIR_IPCSDK}/build/global_config.cmake)
 | 
			
		||||
set(EXECUTABLE_OUTPUT_PATH ${TEST_OUTPUT_PATH}/bin)
 | 
			
		||||
 | 
			
		||||
# 链接提供头文件的路径
 | 
			
		||||
include_directories(
 | 
			
		||||
    .
 | 
			
		||||
    ./src
 | 
			
		||||
    ./include
 | 
			
		||||
    ${UTILS_SOURCE_PATH}/Log/include
 | 
			
		||||
    ${UTILS_SOURCE_PATH}/StatusCode/include
 | 
			
		||||
    # ${MIDDLEWARE_SOURCE_PATH}/IpcConfig/include
 | 
			
		||||
    ${MIDDLEWARE_SOURCE_PATH}/DeviceManager/include
 | 
			
		||||
    ${EXTERNAL_SOURCE_PATH}/gtest/googletest-release-1.11.0/googletest/include
 | 
			
		||||
    ${EXTERNAL_SOURCE_PATH}/gtest/googletest-release-1.11.0/googlemock/include
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
# 链接提供库的路径
 | 
			
		||||
link_directories(
 | 
			
		||||
    ${LIBS_OUTPUT_PATH}
 | 
			
		||||
    ${EXTERNAL_LIBS_OUTPUT_PATH}
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
set(CMAKE_AUTOMOC ON)
 | 
			
		||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# 获取当前路径下的所有源文件, 添加到 SRC_FILES_MAIN 变量中
 | 
			
		||||
aux_source_directory(. SRC_FILES_MAIN)
 | 
			
		||||
# 获取./src路径下的所有源文件, 添加到 SRC_FILES 变量中
 | 
			
		||||
aux_source_directory(./src SRC_FILES)
 | 
			
		||||
 | 
			
		||||
set(TARGET_NAME Led_Test)
 | 
			
		||||
 | 
			
		||||
# 生成可执行文件
 | 
			
		||||
add_executable(${TARGET_NAME} ${SRC_FILES_MAIN} ${SRC_FILES})
 | 
			
		||||
 | 
			
		||||
target_link_libraries(${TARGET_NAME} DeviceManager gtest gmock pthread)
 | 
			
		||||
if(${TEST_COVERAGE} MATCHES "true")
 | 
			
		||||
    target_link_libraries(${TARGET_NAME} gcov)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if ("${CLANG_TIDY_SUPPORT}" MATCHES "true")
 | 
			
		||||
add_custom_target(
 | 
			
		||||
    Led_Test_code_check
 | 
			
		||||
    COMMAND ${CLANG_TIDY_EXE}
 | 
			
		||||
    -checks='${CLANG_TIDY_CHECKS}'
 | 
			
		||||
    --header-filter=.*
 | 
			
		||||
    --system-headers=false
 | 
			
		||||
    ${SRC_FILES}
 | 
			
		||||
    ${CLANG_TIDY_CONFIG}
 | 
			
		||||
    --line-filter='[{\"name\":\"${EXTERNAL_SOURCE_PATH}/gtest/googletest-release-1.11.0/googletest/include/getest/*.h\"}]'
 | 
			
		||||
    -p ${PLATFORM_PATH}/cmake-shell
 | 
			
		||||
    WORKING_DIRECTORY ${TEST_SOURCE_PATH}/middleware/LedTest
 | 
			
		||||
)
 | 
			
		||||
add_custom_command(
 | 
			
		||||
    TARGET ${TARGET_NAME}
 | 
			
		||||
    PRE_BUILD
 | 
			
		||||
    COMMAND make Led_Test_code_check
 | 
			
		||||
    WORKING_DIRECTORY ${PLATFORM_PATH}/cmake-shell/
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
file(GLOB_RECURSE HEADER_FILES *.h)
 | 
			
		||||
add_custom_target(
 | 
			
		||||
    Led_Test_code_format
 | 
			
		||||
    COMMAND ${CLANG_FORMAT_EXE}
 | 
			
		||||
    -style=file
 | 
			
		||||
    -i ${SRC_FILES} ${SRC_FILES_MAIN} ${HEADER_FILES}
 | 
			
		||||
    WORKING_DIRECTORY ${TEST_SOURCE_PATH}/middleware/LedTest
 | 
			
		||||
)
 | 
			
		||||
add_custom_command(
 | 
			
		||||
    TARGET ${TARGET_NAME}
 | 
			
		||||
    PRE_BUILD
 | 
			
		||||
    COMMAND make Led_Test_code_check
 | 
			
		||||
    COMMAND make Led_Test_code_format
 | 
			
		||||
    WORKING_DIRECTORY ${PLATFORM_PATH}/cmake-shell/
 | 
			
		||||
)
 | 
			
		||||
endif()
 | 
			
		||||
define_file_name(${TARGET_NAME})
 | 
			
		||||
							
								
								
									
										9
									
								
								test/middleware/LedTest/mainTest.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								test/middleware/LedTest/mainTest.cpp
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,9 @@
 | 
			
		|||
#include <gmock/gmock.h>
 | 
			
		||||
#include <gtest/gtest.h>
 | 
			
		||||
#include <thread>
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
int main(int argc, char *argv[])
 | 
			
		||||
{
 | 
			
		||||
    testing::InitGoogleTest(&argc, argv);
 | 
			
		||||
    return RUN_ALL_TESTS();
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										21
									
								
								test/middleware/LedTest/src/Led_Test.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								test/middleware/LedTest/src/Led_Test.cpp
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,21 @@
 | 
			
		|||
#include "IDeviceManager.h"
 | 
			
		||||
#include "ILog.h"
 | 
			
		||||
#include <gtest/gtest.h>
 | 
			
		||||
 | 
			
		||||
namespace Led_Test
 | 
			
		||||
{
 | 
			
		||||
// ../output_files/test/bin/Led_Test --gtest_filter=Led_Test.Demo
 | 
			
		||||
 | 
			
		||||
TEST(Led_Test, Demo)
 | 
			
		||||
{
 | 
			
		||||
    // 初始化Log
 | 
			
		||||
    CreateLogModule();
 | 
			
		||||
    CreateDeviceManagerModule();
 | 
			
		||||
 | 
			
		||||
    IDeviceManager::GetInstance()->Init();
 | 
			
		||||
    LedState _Led_State = LED_STATE_RED;
 | 
			
		||||
    IDeviceManager::GetInstance()->ISetLedState("Led_testing", _Led_State, 10, 0);
 | 
			
		||||
    IDeviceManager::GetInstance()->UnInit();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
} /*namespace Led_Test*/
 | 
			
		||||
| 
						 | 
				
			
			@ -26,11 +26,13 @@ TEST(UartDeviceTest, UNIT_UartDevice_AUTO_IllegalObject)
 | 
			
		|||
{
 | 
			
		||||
    CreateLogModule();
 | 
			
		||||
    ILogInit(LOG_INSTANCE_TYPE_END);
 | 
			
		||||
 | 
			
		||||
    IUartOpen(nullptr);
 | 
			
		||||
    IUartSend(nullptr, nullptr, 0);
 | 
			
		||||
    IUartRecv(nullptr, nullptr, 0, 0);
 | 
			
		||||
    IUartTcflush(nullptr);
 | 
			
		||||
    IUartDeviceFree(nullptr);
 | 
			
		||||
 | 
			
		||||
    char illegalObject[100] = {0};
 | 
			
		||||
    void *object = &illegalObject[10];
 | 
			
		||||
    IUartOpen(object);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user