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()); }
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()); }
bool Target::run(const QString& filename) { return hasRun() ? get()->run(filename, m_port) : false; }