Advertisement
Guest User

Untitled

a guest
Jul 17th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  1. std::thread ServiceMessagesTestHelper::spawnFansServiceInNewThread(bool CzyTaLinijkaMaBycDolaczona=false)
  2. {
  3. std::mutex mtx;
  4. std::condition_variable cv;
  5. bool FanServiceCreated = false;
  6.  
  7. EXPECT_CALL(*TimerMsgStub::instance(), CTor(_)).Times(AnyNumber());
  8. EXPECT_CALL(*TimerMsgStub::instance(), start(_, _, _)).Times(AnyNumber());
  9. EXPECT_CALL(*TimerMsgStub::instance(), DTor()).Times(AnyNumber());
  10. EXPECT_CALL(*TimerMsgStub::instance(), stop()).Times(AnyNumber());
  11.  
  12. std::thread serviceThread([&]() {
  13. {
  14. std::unique_lock<std::mutex> lock(mtx);
  15. service.reset(
  16. new FansServiceMock(constants::fanService, sf::InitialConf{}, constants::testAddr.cpId, config));
  17. FanServiceCreated = true;
  18. cv.notify_one();
  19. }
  20.  
  21. auto serviceMock = std::dynamic_pointer_cast<FansServiceMock>(service);
  22.  
  23. if(CzyTaLinijkaMaBycDolaczona) serviceMock->initDetectionMonitorFake();
  24.  
  25. EXPECT_CALL(*serviceMock, createRpmMonitor()).Times(1);
  26. EXPECT_CALL(*serviceMock, createDetectionMonitor()).Times(1);
  27. EXPECT_CALL(*serviceMock, createFanStatusMonitor()).Times(1);
  28. EXPECT_CALL(*serviceMock, createRpmControlLoop()).Times(1);
  29. EXPECT_CALL(*serviceMock, createDefaultPwmFanStatus(_)).Times(AnyNumber());
  30. EXPECT_CALL(*serviceMock, createDefaultFsFanStatus(_)).Times(AnyNumber());
  31. EXPECT_CALL(*serviceMock, createDefaultFsRpmFanStatus(_)).Times(AnyNumber());
  32. EXPECT_CALL(*serviceMock, setChanelPeriods()).Times(1);
  33. //EXPECT_CALL(*serviceMock, setPulsesPerRev()).Times(1);
  34.  
  35. service->start();
  36. });
  37.  
  38. std::unique_lock<std::mutex> lock(mtx);
  39. cv.wait(lock, [&]() { return FanServiceCreated == true; });
  40.  
  41. return serviceThread;
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement