diff --git a/test/middleware/McuManager/tool/src/McuManagerMakePtrTest.cpp b/test/middleware/McuManager/tool/src/McuManagerMakePtrTest.cpp index 83387a2a..02e73fa2 100644 --- a/test/middleware/McuManager/tool/src/McuManagerMakePtrTest.cpp +++ b/test/middleware/McuManager/tool/src/McuManagerMakePtrTest.cpp @@ -15,10 +15,25 @@ #include "McuManagerMakePtrTest.h" #include "ILog.h" #include "McuManagerTestTool.h" -void OverrideMcuManagerMakePtrObject(void) +void OverrideMcuManagerMakePtrObject(std::shared_ptr &mcuManagerMock) { std::shared_ptr impl = std::make_shared(); McuManagerMakePtr::GetInstance(&impl); + std::shared_ptr tmp = McuManagerMakePtr::GetInstance(); + std::shared_ptr test = std::dynamic_pointer_cast(tmp); + if (test) { + test->mMcuManagerMock = mcuManagerMock; + } +} +void CancelOverrideMcuManagerMakePtrObject(void) +{ + std::shared_ptr tmp = McuManagerMakePtr::GetInstance(); + std::shared_ptr test = std::dynamic_pointer_cast(tmp); + if (test) { + test->mMcuManagerMock.reset(); + } + std::shared_ptr impl = std::make_shared(); + McuManagerMakePtr::GetInstance(&impl); } McuManagerMakePtrTest::McuManagerMakePtrTest() { diff --git a/test/middleware/McuManager/tool/src/McuManagerMakePtrTest.h b/test/middleware/McuManager/tool/src/McuManagerMakePtrTest.h index 2abf7a8f..611f8c25 100644 --- a/test/middleware/McuManager/tool/src/McuManagerMakePtrTest.h +++ b/test/middleware/McuManager/tool/src/McuManagerMakePtrTest.h @@ -16,7 +16,8 @@ #define MCU_MANAGER_MAKE_PTR_TEST_H #include "McuManagerMakePtr.h" #include "McuManagerTestTool.h" -void OverrideMcuManagerMakePtrObject(void); +void OverrideMcuManagerMakePtrObject(std::shared_ptr &mcuManagerMock); +void CancelOverrideMcuManagerMakePtrObject(void); class McuManagerMakePtrTest : public McuManagerMakePtr { public: diff --git a/test/middleware/McuManager/tool/src/McuManagerTestTool.cpp b/test/middleware/McuManager/tool/src/McuManagerTestTool.cpp index 2db7bd85..23dd4d99 100644 --- a/test/middleware/McuManager/tool/src/McuManagerTestTool.cpp +++ b/test/middleware/McuManager/tool/src/McuManagerTestTool.cpp @@ -28,25 +28,14 @@ void McuManagerTestTool::Init(std::shared_ptr &mock) { LogInfo("McuManagerTestTool::Init\n"); mMcuManagerMock = std::make_shared(); - OverrideMcuManagerMakePtrObject(); - std::shared_ptr tmp = McuManagerMakePtr::GetInstance(); - std::shared_ptr test = std::dynamic_pointer_cast(tmp); - if (test) { - test->mMcuManagerMock = mMcuManagerMock; - } + OverrideMcuManagerMakePtrObject(mMcuManagerMock); UartDeviceTestTool::RegisterUartDevice(mock, gUartDevice); McuProtocolTestTool::Init(mock, gUartDevice); } void McuManagerTestTool::UnInit(void) { mMcuManagerMock.reset(); - std::shared_ptr tmp = McuManagerMakePtr::GetInstance(); - std::shared_ptr test = std::dynamic_pointer_cast(tmp); - if (test) { - test->mMcuManagerMock.reset(); - } - std::shared_ptr impl = std::make_shared(); - McuManagerMakePtr::GetInstance(&impl); + CancelOverrideMcuManagerMakePtrObject(); UartDeviceTestTool::UnregisterUartDevice(gUartDevice); McuProtocolTestTool::UnInit(); }