aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/autotest/testrunner.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/autotest/testrunner.h')
-rw-r--r--src/plugins/autotest/testrunner.h19
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