SpiecsEngine
 
Loading...
Searching...
No Matches

◆ TEST_F() [48/72]

SpicesTest::TEST_F ( ThreadPoolCached_test ,
Submit2AllThreadTask  )

Testing if submit thread task for each twice successfully.

Definition at line 319 of file ThreadPoolCached_test.h.

319 {
320
322
323 auto func = []() -> void
324 {
325 std::this_thread::sleep_for(std::chrono::seconds(1));
326 };
327
328 m_ThreadPool.SubmitThreadTask_LightWeight_ForEach(func);
329 m_ThreadPool.SubmitThreadTask_LightWeight_ForEach(func);
330
331 /* @brief Wait for all tasks finish. */
332 m_ThreadPool.Wait();
333
334 EXPECT_EQ(m_ThreadPool.GetInitThreadSize() ,nThreads );
335 EXPECT_EQ(m_ThreadPool.GetIdleThreadSize() ,nThreads );
336 EXPECT_EQ(m_ThreadPool.GetPoolMode() ,Spices::PoolMode::MODE_CACHED);
337 EXPECT_EQ(m_ThreadPool.GetTasks() ,0 );
338 EXPECT_EQ(m_ThreadPool.GetThreadsCount() ,nThreads );
339 EXPECT_EQ(m_ThreadPool.GetThreadIdleTimeOut(),10 );
340 EXPECT_EQ(m_ThreadPool.IsPoolRunning() ,true );
341
342 for (auto& pair : m_ThreadPool.GetThreads())
343 {
344 EXPECT_EQ(pair.second->GetThreadTasksCount(), 0);
345 }
346 }
#define SPICESTEST_PROFILE_FUNCTION()