SpiecsEngine
 
Loading...
Searching...
No Matches

◆ TEST_F() [52/72]

SpicesTest::TEST_F ( ThreadPoolCached_test ,
SubmitOnePoolTask  )

Testing if submit one pool task successfully.

Definition at line 66 of file ThreadPoolCached_test.h.

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); /* @brief Wait for task execute. */
79
80 EXPECT_EQ(m_ThreadPool.GetInitThreadSize() ,nThreads );
81 EXPECT_EQ(m_ThreadPool.GetIdleThreadSize() ,nThreads - 1 );
82 EXPECT_EQ(m_ThreadPool.GetPoolMode() ,Spices::PoolMode::MODE_CACHED);
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(); /* @brief Wait for sub thread finish. */
89
90 EXPECT_EQ(m_ThreadPool.GetInitThreadSize() ,nThreads );
91 EXPECT_EQ(m_ThreadPool.GetIdleThreadSize() ,nThreads );
92 EXPECT_EQ(m_ThreadPool.GetPoolMode() ,Spices::PoolMode::MODE_CACHED);
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()