diff options
Diffstat (limited to 'src/plugins/autotest/testrunner.h')
-rw-r--r-- | src/plugins/autotest/testrunner.h | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/plugins/autotest/testrunner.h b/src/plugins/autotest/testrunner.h index 0638401ca08..95039b47ac7 100644 --- a/src/plugins/autotest/testrunner.h +++ b/src/plugins/autotest/testrunner.h @@ -31,12 +31,13 @@ #include <QDialog> #include <QFutureWatcher> #include <QObject> -#include <QProcess> +#include <QQueue> QT_BEGIN_NAMESPACE class QComboBox; class QDialogButtonBox; class QLabel; +class QProcess; QT_END_NAMESPACE namespace ProjectExplorer { @@ -51,6 +52,8 @@ class TestRunner : public QObject Q_OBJECT public: + enum CancelReason { UserCanceled, Timeout }; + static TestRunner* instance(); ~TestRunner(); @@ -71,14 +74,24 @@ private: void buildFinished(bool success); void onFinished(); + int precheckTestConfigurations(); + void scheduleNext(); + void cancelCurrent(CancelReason reason); + void onProcessFinished(); + void resetInternalPointers(); + void runTests(); void debugTests(); void runOrDebugTests(); explicit TestRunner(QObject *parent = 0); QFutureWatcher<TestResultPtr> m_futureWatcher; - QList<TestConfiguration *> m_selectedTests; - bool m_executingTests; + QFutureInterface<TestResultPtr> *m_fakeFutureInterface = nullptr; + QQueue<TestConfiguration *> m_selectedTests; + bool m_executingTests = false; + TestConfiguration *m_currentConfig = nullptr; + QProcess *m_currentProcess = nullptr; + TestOutputReader *m_currentOutputReader = nullptr; TestRunMode m_runMode = TestRunMode::Run; // temporarily used if building before running is necessary |