From 86a80396de9ccf10c0848b6b3103bc5f3a959add Mon Sep 17 00:00:00 2001 From: winlin Date: Sun, 13 Sep 2020 13:08:49 +0800 Subject: [PATCH] Add utest for connection manager --- trunk/src/utest/srs_utest_rtc.cpp | 22 ++++++++++++++++++++++ trunk/src/utest/srs_utest_service.cpp | 21 +++++++++++---------- trunk/src/utest/srs_utest_service.hpp | 9 +++++++++ 3 files changed, 42 insertions(+), 10 deletions(-) diff --git a/trunk/src/utest/srs_utest_rtc.cpp b/trunk/src/utest/srs_utest_rtc.cpp index 2a00be08b..3d7d511b4 100644 --- a/trunk/src/utest/srs_utest_rtc.cpp +++ b/trunk/src/utest/srs_utest_rtc.cpp @@ -30,10 +30,32 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include #include #include +#include + +#include #include using namespace std; +VOID TEST(KernelRTCTest, ConnectionManagerTest) +{ + srs_error_t err = srs_success; + + if (true) { + SrsConnectionManager manager; + HELPER_EXPECT_SUCCESS(manager.start()); + EXPECT_EQ(0, manager.size()); EXPECT_TRUE(manager.empty()); + + MockSrsConnection* conn = new MockSrsConnection(); + manager.add(conn); + EXPECT_EQ(1, manager.size()); EXPECT_FALSE(manager.empty()); + + manager.remove(conn); + srs_usleep(0); // Switch context for manager to dispose connections. + EXPECT_EQ(0, manager.size()); EXPECT_TRUE(manager.empty()); + } +} + VOID TEST(KernelRTCTest, StringDumpHexTest) { // Typical normal case. diff --git a/trunk/src/utest/srs_utest_service.cpp b/trunk/src/utest/srs_utest_service.cpp index a2365a8c6..7112cc2b0 100644 --- a/trunk/src/utest/srs_utest_service.cpp +++ b/trunk/src/utest/srs_utest_service.cpp @@ -42,17 +42,18 @@ using namespace std; #include #include -class MockSrsConnection : public ISrsConnection +MockSrsConnection::MockSrsConnection() { -public: - MockSrsConnection() { - } - virtual ~MockSrsConnection() { - } - virtual std::string remote_ip() { - return "127.0.0.1"; - } -}; +} + +MockSrsConnection::~MockSrsConnection() +{ +} + +std::string MockSrsConnection::remote_ip() +{ + return "127.0.0.1"; +} VOID TEST(ServiceTimeTest, TimeUnit) { diff --git a/trunk/src/utest/srs_utest_service.hpp b/trunk/src/utest/srs_utest_service.hpp index 995b75e83..84aa9be7e 100644 --- a/trunk/src/utest/srs_utest_service.hpp +++ b/trunk/src/utest/srs_utest_service.hpp @@ -30,6 +30,15 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include #include +#include + +class MockSrsConnection : public ISrsConnection +{ +public: + MockSrsConnection(); + virtual ~MockSrsConnection(); + virtual std::string remote_ip(); +}; #endif