SpiecsEngine
 
Loading...
Searching...
No Matches

◆ TEST_F() [59/72]

SpicesTest::TEST_F ( ThreadPoolFixed_test ,
Submit2AllThreadTask  )

Testing if submit thread task for each twice successfully.

Definition at line 416 of file ThreadPoolFixed_test.h.

416 {
417
419
420 auto func = []() -> void
421 {
422 std::this_thread::sleep_for(std::chrono::seconds(1));
423 };
424
425 m_ThreadPool.SubmitThreadTask_LightWeight_ForEach(func);
426 m_ThreadPool.SubmitThreadTask_LightWeight_ForEach(func);
427
428 /* @brief Wait for all tasks finish. */
429 m_ThreadPool.Wait();
430
431 EXPECT_EQ(m_ThreadPool.GetInitThreadSize() ,nThreads );
432 EXPECT_EQ(m_ThreadPool.GetIdleThreadSize() ,nThreads );
433 EXPECT_EQ(m_ThreadPool.GetPoolMode() ,Spices::PoolMode::MODE_FIXED );
434 EXPECT_EQ(m_ThreadPool.GetTasks() ,0 );
435 EXPECT_EQ(m_ThreadPool.GetThreadsCount() ,nThreads );
436 EXPECT_EQ(m_ThreadPool.GetThreadIdleTimeOut(),Spices::THREAD_MAX_IDLE_TIME );
437 EXPECT_EQ(m_ThreadPool.IsPoolRunning() ,true );
438
439 for (auto& pair : m_ThreadPool.GetThreads())
440 {
441 EXPECT_EQ(pair.second->GetThreadTasksCount(),0);
442 }
443 }
#define SPICESTEST_PROFILE_FUNCTION()
constexpr uint32_t THREAD_MAX_IDLE_TIME