示例#1
0
TEST_F(DispatcherTests, test_interruption) {
  auto r1 = std::make_shared<BlockingTestRunnable>();
  Dispatcher::addService(r1);

  // This service would normally wait for 100 seconds.
  r1->interrupt();

  Dispatcher::joinServices();
  EXPECT_TRUE(r1->hasRun());
}
示例#2
0
TEST_F(DispatcherTests, test_run) {
  auto runnable = std::make_shared<TestRunnable>();
  runnable->reset();

  // The service exits after incrementing.
  Dispatcher::addService(runnable);
  Dispatcher::joinServices();
  EXPECT_EQ(1U, runnable->count());
  EXPECT_TRUE(runnable->hasRun());

  // This runnable cannot be executed again.
  auto s = Dispatcher::addService(runnable);
  EXPECT_FALSE(s);

  Dispatcher::joinServices();
  EXPECT_EQ(1U, runnable->count());
}
示例#3
0
bool Target::run(const QString& filename) { return hasRun() ? get()->run(filename, m_port) : false; }