aboutsummaryrefslogtreecommitdiffstats
path: root/tests/fuzzy-test/fuzzytester.h
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@theqtcompany.com>2015-05-06 18:13:03 +0200
committerChristian Kandeler <christian.kandeler@theqtcompany.com>2015-05-07 13:26:09 +0000
commitff2eca7539d8635b1433438e6049d75a156907ee (patch)
treee99e06ac0ec348deb8bbc9bac0d88fef3a4249df /tests/fuzzy-test/fuzzytester.h
parent5ed204212297ae8847b66036eb85ab6c497dfa5e (diff)
fuzzy tester: Cache information about build results.
We remember the information whether a clean build succeeded. This enables us to skip potentially expensive verification builds as well as finding a usable start commit. Note: This can lead to false positives or negatives if qbs or the build environment have changed in a way that leads to a formerly succeeding build failing or vice versa; however, this should be rare and easily spottable. Change-Id: I690f7a01fc1174fa50214775b0faa3b550168963 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Diffstat (limited to 'tests/fuzzy-test/fuzzytester.h')
-rw-r--r--tests/fuzzy-test/fuzzytester.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/tests/fuzzy-test/fuzzytester.h b/tests/fuzzy-test/fuzzytester.h
index 1ae8a602c..aeaa21e72 100644
--- a/tests/fuzzy-test/fuzzytester.h
+++ b/tests/fuzzy-test/fuzzytester.h
@@ -31,14 +31,10 @@
#define QBS_FUZZYTESTER_H
#include <QQueue>
-#include <QString>
+#include <QStringList>
#include <exception>
-QT_BEGIN_NAMESPACE
-class QStringList;
-QT_END_NAMESPACE
-
class TestError {
public:
TestError(const QString &errorMessage) : errorMessage(errorMessage) {}
@@ -55,6 +51,7 @@ class FuzzyTester
{
public:
FuzzyTester();
+ ~FuzzyTester();
void runTest(const QString &profile, const QString &startCommit, int maxDurationInMinutes,
int jobCount, bool log);
@@ -69,6 +66,9 @@ private:
bool doCleanBuild(QString *errorMessage = 0);
void throwIncrementalBuildError(const QString &message, const QStringList &commitSequence);
+ void loadSettings();
+ void storeSettings() const;
+
static QString logFilePath(const QString &commit, const QString &activity);
static QString defaultBuildDir();
@@ -79,6 +79,8 @@ private:
QString m_currentCommit;
QString m_currentActivity;
QQueue<QString> m_commitsWithLogFiles;
+ QStringList m_unbuildableCommits;
+ QStringList m_buildableCommits;
};
#endif // Include guard.