Loading Common/Libraries/IRALibrary/src/Error.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -52,7 +52,7 @@ CError::CError(const CError& rSrc) m_sFile=rSrc.m_sFile; m_sRoutine=rSrc.m_sRoutine; m_dwLine=rSrc.m_dwLine; for(int i=0;i<m_wDataPointer;i++) { for(WORD i=0;i<rSrc.m_wDataPointer;i++) { m_pData[i].Name=rSrc.m_pData[i].Name; m_pData[i].Value=rSrc.m_pData[i].Value; } Loading Loading @@ -83,7 +83,7 @@ void CError::operator=(const CError& rSrc) m_sFile=rSrc.m_sFile; m_sRoutine=rSrc.m_sRoutine; m_dwLine=rSrc.m_dwLine; for(int i=0;i<m_wDataPointer;i++) { for(WORD i=0;i<rSrc.m_wDataPointer;i++) { m_pData[i].Name=rSrc.m_pData[i].Name; m_pData[i].Value=rSrc.m_pData[i].Value; } Loading Common/Libraries/IRALibrary/tests/CError_regression.i 0 → 100644 +39 −0 Original line number Diff line number Diff line #include "Error.h" #include <stdlib.h> namespace IRALibraryTest { class IRALibrary_CError : public ::testing::Test { public: ::testing::AssertionResult copyConstructor_segfault() { testSegFault(); return ::testing::AssertionSuccess(); } private: IRA::CError m_error; IRA::CError testSegFault() { // This SHOULD NOT generate a Segmentation fault after fix #185. m_error.setError(IRA::CError::SerialType,IRA::CError::SrlPortConfig); return m_error; } protected: static void TearDownTestCase() { } static void SetUpTestCase() { } virtual void SetUp() { } virtual void TearDown() { } }; } Common/Libraries/IRALibrary/tests/unittest.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ #include "FastQueue_test.i" #include "Socket_test.i" #include "CError_regression.i" using namespace IRALibraryTest; Loading Loading @@ -62,3 +63,7 @@ TEST_F(IRALibrary_FastQueue,FastQueue_checkConsistency){ TEST_F(IRALibrary_Socket, sendWithoutConnection){ EXPECT_TRUE(sendWithoutConnection()); } TEST_F(IRALibrary_CError, copyConstructor_segfault){ EXPECT_TRUE(copyConstructor_segfault()); } Loading
Common/Libraries/IRALibrary/src/Error.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -52,7 +52,7 @@ CError::CError(const CError& rSrc) m_sFile=rSrc.m_sFile; m_sRoutine=rSrc.m_sRoutine; m_dwLine=rSrc.m_dwLine; for(int i=0;i<m_wDataPointer;i++) { for(WORD i=0;i<rSrc.m_wDataPointer;i++) { m_pData[i].Name=rSrc.m_pData[i].Name; m_pData[i].Value=rSrc.m_pData[i].Value; } Loading Loading @@ -83,7 +83,7 @@ void CError::operator=(const CError& rSrc) m_sFile=rSrc.m_sFile; m_sRoutine=rSrc.m_sRoutine; m_dwLine=rSrc.m_dwLine; for(int i=0;i<m_wDataPointer;i++) { for(WORD i=0;i<rSrc.m_wDataPointer;i++) { m_pData[i].Name=rSrc.m_pData[i].Name; m_pData[i].Value=rSrc.m_pData[i].Value; } Loading
Common/Libraries/IRALibrary/tests/CError_regression.i 0 → 100644 +39 −0 Original line number Diff line number Diff line #include "Error.h" #include <stdlib.h> namespace IRALibraryTest { class IRALibrary_CError : public ::testing::Test { public: ::testing::AssertionResult copyConstructor_segfault() { testSegFault(); return ::testing::AssertionSuccess(); } private: IRA::CError m_error; IRA::CError testSegFault() { // This SHOULD NOT generate a Segmentation fault after fix #185. m_error.setError(IRA::CError::SerialType,IRA::CError::SrlPortConfig); return m_error; } protected: static void TearDownTestCase() { } static void SetUpTestCase() { } virtual void SetUp() { } virtual void TearDown() { } }; }
Common/Libraries/IRALibrary/tests/unittest.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ #include "FastQueue_test.i" #include "Socket_test.i" #include "CError_regression.i" using namespace IRALibraryTest; Loading Loading @@ -62,3 +63,7 @@ TEST_F(IRALibrary_FastQueue,FastQueue_checkConsistency){ TEST_F(IRALibrary_Socket, sendWithoutConnection){ EXPECT_TRUE(sendWithoutConnection()); } TEST_F(IRALibrary_CError, copyConstructor_segfault){ EXPECT_TRUE(copyConstructor_segfault()); }