SpiecsEngine
 
Loading...
Searching...
No Matches

◆ TEST_F() [63/72]

SpicesTest::TEST_F ( ThreadPoolFixed_test ,
SubmitOnePoolTask  )

Testing if submit one pool task successfully.

Definition at line 195 of file ThreadPoolFixed_test.h.

195 {
196
198
199 auto func = [](int sec) -> bool
200 {
201 std::this_thread::sleep_for(std::chrono::seconds(sec));
202 return true;
203 };
204
205 std::future<bool> future = m_ThreadPool.SubmitPoolTask(std::bind(func, 2));
206
207 func(1); /* @brief Wait for task execute. */
208
209 EXPECT_EQ(m_ThreadPool.GetInitThreadSize() ,nThreads );
210 EXPECT_EQ(m_ThreadPool.GetIdleThreadSize() ,nThreads - 1 );
211 EXPECT_EQ(m_ThreadPool.GetPoolMode() ,Spices::PoolMode::MODE_FIXED );
212 EXPECT_EQ(m_ThreadPool.GetTasks() ,0 );
213 EXPECT_EQ(m_ThreadPool.GetThreadsCount() ,nThreads );
214 EXPECT_EQ(m_ThreadPool.GetThreadIdleTimeOut(),Spices::THREAD_MAX_IDLE_TIME );
215 EXPECT_EQ(m_ThreadPool.IsPoolRunning() ,true );
216
217 m_ThreadPool.Wait(); /* @brief Wait for sub thread finish. */
218
219 EXPECT_EQ(m_ThreadPool.GetInitThreadSize() ,nThreads );
220 EXPECT_EQ(m_ThreadPool.GetIdleThreadSize() ,nThreads );
221 EXPECT_EQ(m_ThreadPool.GetPoolMode() ,Spices::PoolMode::MODE_FIXED );
222 EXPECT_EQ(m_ThreadPool.GetTasks() ,0 );
223 EXPECT_EQ(m_ThreadPool.GetThreadsCount() ,nThreads );
224 EXPECT_EQ(m_ThreadPool.GetThreadIdleTimeOut(),Spices::THREAD_MAX_IDLE_TIME );
225 EXPECT_EQ(m_ThreadPool.IsPoolRunning() ,true );
226 }
#define SPICESTEST_PROFILE_FUNCTION()
constexpr uint32_t THREAD_MAX_IDLE_TIME