Testing if submit one pool task successfully.
66 {
67
69
70 auto func = [](int sec) -> bool
71 {
72 std::this_thread::sleep_for(std::chrono::seconds(sec));
73 return true;
74 };
75
76 std::future<bool> future = m_ThreadPool.SubmitPoolTask(std::bind(func, 2));
77
78 func(1);
79
80 EXPECT_EQ(m_ThreadPool.GetInitThreadSize() ,nThreads );
81 EXPECT_EQ(m_ThreadPool.GetIdleThreadSize() ,nThreads - 1 );
83 EXPECT_EQ(m_ThreadPool.GetTasks() ,0 );
84 EXPECT_EQ(m_ThreadPool.GetThreadsCount() ,nThreads );
85 EXPECT_EQ(m_ThreadPool.GetThreadIdleTimeOut(),10 );
86 EXPECT_EQ(m_ThreadPool.IsPoolRunning() ,true );
87
88 future.get();
89
90 EXPECT_EQ(m_ThreadPool.GetInitThreadSize() ,nThreads );
91 EXPECT_EQ(m_ThreadPool.GetIdleThreadSize() ,nThreads );
93 EXPECT_EQ(m_ThreadPool.GetTasks() ,0 );
94 EXPECT_EQ(m_ThreadPool.GetThreadsCount() ,nThreads );
95 EXPECT_EQ(m_ThreadPool.GetThreadIdleTimeOut(),10 );
96 EXPECT_EQ(m_ThreadPool.IsPoolRunning() ,true );
97 }
#define SPICESTEST_PROFILE_FUNCTION()