void TestTaskManager::get_version() { TARSNAP_CLI_OR_SKIP; TaskManager *manager = new TaskManager(); QSignalSpy sig_ver(manager, SIGNAL(tarsnapVersion(QString))); QString ver_str; // We start off with no version signal. QVERIFY(sig_ver.count() == 0); // Get version number manager->getTarsnapVersion(""); QTest::qWait(TASK_CMDLINE_WAIT_MS); QVERIFY(sig_ver.count() == 1); ver_str = sig_ver.takeFirst().at(0).toString(); // Verify that it's a real version number for(const QString &part : ver_str.split(".")) { for(int i = 0; i < part.size(); i++) { QVERIFY(part[i].isDigit()); } } // Get a failure manager->getTarsnapVersion("fake-dir"); QTest::qWait(TASK_CMDLINE_WAIT_MS); QVERIFY(sig_ver.count() == 1); ver_str = sig_ver.takeFirst().at(0).toString(); QVERIFY(ver_str.isEmpty()); delete manager; }
void TestTaskManager::initTestCase() { QCoreApplication::setOrganizationName(TEST_NAME); ConsoleLog::initializeConsoleLog(); // This is to "warm up" the command-line tasks. TaskManager *manager = new TaskManager(); QSignalSpy sig_ver(manager, SIGNAL(tarsnapVersion(QString))); manager->getTarsnapVersion(""); // Wait for task to finish while(sig_ver.count() == 0) QTest::qWait(TASK_CMDLINE_WAIT_MS); delete manager; }