diff --git a/CMakeLists.txt b/CMakeLists.txt index 0965099b..f4a209a8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,6 +24,7 @@ set(CMAKE_MODULE_PATH "cmake_modules") # FIND CPPUNIT if(CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARY) set(CCPUNIT_LIBRARIES ${CPPUNIT_LIBRARY}) + set(CPPUNIT_FOUND 1) message(STATUS "Using cppunit: ${CPPUNIT_INCLUDE_DIR} ${CPPUNIT_LIBRARIES}") else() set(cppunit_DIR "${CMAKE_SOURCE_DIR}/cmake_modules") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 50a9ca9c..17012906 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -16,7 +16,7 @@ if (CPPUNIT_FOUND) ADD_EXECUTABLE(libtransport_test ${SRC_TEST}) - target_link_libraries(libtransport_test transport ${CPPUNIT_LIBRARIES} ${Boost_LIBRARIES}) + target_link_libraries(libtransport_test transport ${CPPUNIT_LIBRARY} ${Boost_LIBRARIES}) endif() if (NOT WIN32) diff --git a/src/tests/user.cpp b/src/tests/user.cpp index cd5044bf..fcf348c8 100644 --- a/src/tests/user.cpp +++ b/src/tests/user.cpp @@ -28,6 +28,7 @@ class UserTest : public CPPUNIT_NS :: TestFixture, public BasicTest { CPPUNIT_TEST(handlePresenceLeaveRoom); CPPUNIT_TEST(leaveJoinedRoom); CPPUNIT_TEST(handleDisconnected); + CPPUNIT_TEST(handleDisconnectedReconnect); CPPUNIT_TEST_SUITE_END(); public: @@ -203,6 +204,16 @@ class UserTest : public CPPUNIT_NS :: TestFixture, public BasicTest { disconnected = true; } + void handleDisconnectedReconnect() { + User *user = userManager->getUser("user@localhost"); + user->handleDisconnected("Connection error"); + loop->processEvents(); + + CPPUNIT_ASSERT(!streamEnded); + user = userManager->getUser("user@localhost"); + CPPUNIT_ASSERT(user); + } + }; CPPUNIT_TEST_SUITE_REGISTRATION (UserTest);