aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJake Petroules <jake.petroules@qt.io>2016-12-10 16:12:08 -0800
committerJake Petroules <jake.petroules@qt.io>2016-12-12 16:30:30 +0000
commitb026a92b4f8c1646da7da196f5304043c5425cb2 (patch)
treead45b8951cb61179b7e224175db65c30198aba39
parent36502ab5d613e49fc3c393c9e41db9ef22c98041 (diff)
Split up javaDependencyTracking test
This now runs as a series of individual tests that take approximately 10 seconds each rather than one giant monolithic test that takes several minutes without any progress indication whatsoever. Change-Id: I02432818bb1fc45677926cf42d7815ebd1b8dec1 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r--tests/auto/blackbox/tst_blackboxjava.cpp45
-rw-r--r--tests/auto/blackbox/tst_blackboxjava.h1
2 files changed, 31 insertions, 15 deletions
diff --git a/tests/auto/blackbox/tst_blackboxjava.cpp b/tests/auto/blackbox/tst_blackboxjava.cpp
index 8268d6adb..7516764c7 100644
--- a/tests/auto/blackbox/tst_blackboxjava.cpp
+++ b/tests/auto/blackbox/tst_blackboxjava.cpp
@@ -214,6 +214,27 @@ static QString dpkgArch(const QString &prefix = QString())
void TestBlackboxJava::javaDependencyTracking()
{
+ QFETCH(QString, jdkPath);
+ QFETCH(QString, javaVersion);
+ QFETCH(QString, flag);
+
+ QDir::setCurrent(testDataDir + "/java");
+ QbsRunParameters rp;
+ rp.arguments.append(flag);
+ if (!jdkPath.isEmpty())
+ rp.arguments << ("java.jdkPath:" + jdkPath);
+ if (!javaVersion.isEmpty())
+ rp.arguments << ("java.languageVersion:'" + javaVersion + "'");
+ rmDirR(relativeBuildDir());
+ QCOMPARE(runQbs(rp), 0);
+}
+
+void TestBlackboxJava::javaDependencyTracking_data()
+{
+ QTest::addColumn<QString>("jdkPath");
+ QTest::addColumn<QString>("javaVersion");
+ QTest::addColumn<QString>("flag");
+
Settings settings((QString()));
Profile p(profileName(), &settings);
@@ -247,19 +268,6 @@ void TestBlackboxJava::javaDependencyTracking()
return QString();
};
- auto runQbsTest = [&](const QString &jdkPath, const QString &javaVersion,
- const QString &arg) {
- QDir::setCurrent(testDataDir + "/java");
- QbsRunParameters rp;
- rp.arguments.append(arg);
- if (!jdkPath.isEmpty())
- rp.arguments << ("java.jdkPath:" + jdkPath);
- if (!javaVersion.isEmpty())
- rp.arguments << ("java.languageVersion:'" + javaVersion + "'");
- rmDirR(relativeBuildDir());
- QCOMPARE(runQbs(rp), 0);
- };
-
static const auto knownJdkVersions = QStringList() << "1.6" << "1.7" << "1.8" << "1.9"
<< QString(); // default JDK;
QStringList seenJdkVersions;
@@ -277,8 +285,15 @@ void TestBlackboxJava::javaDependencyTracking()
<< QString(); // also test with no explicitly specified source version
for (const auto &currentJavaVersion : javaVersions) {
- runQbsTest(jdkPath, currentJavaVersion, "--check-outputs");
- runQbsTest(jdkPath, currentJavaVersion, "--dry-run");
+ const QString rowName = (!jdkPath.isEmpty() ? jdkPath : "default JDK")
+ + QStringLiteral(", ")
+ + (!currentJavaVersion.isEmpty()
+ ? ("Java " + currentJavaVersion)
+ : "default Java version");
+ QTest::newRow((rowName + ", --check-outputs").toLatin1().constData())
+ << jdkPath << currentJavaVersion << "--check-outputs";
+ QTest::newRow((rowName + ", --dry-run").toLatin1().constData())
+ << jdkPath << currentJavaVersion << "--dry-run";
}
}
}
diff --git a/tests/auto/blackbox/tst_blackboxjava.h b/tests/auto/blackbox/tst_blackboxjava.h
index 40f1b1636..f7c41f8ba 100644
--- a/tests/auto/blackbox/tst_blackboxjava.h
+++ b/tests/auto/blackbox/tst_blackboxjava.h
@@ -43,6 +43,7 @@ private slots:
void android_data();
void java();
void javaDependencyTracking();
+ void javaDependencyTracking_data();
void javaDependencyTrackingInnerClass();
private: