diff options
author | Jake Petroules <jake.petroules@qt.io> | 2016-12-10 16:12:08 -0800 |
---|---|---|
committer | Jake Petroules <jake.petroules@qt.io> | 2016-12-12 16:30:30 +0000 |
commit | b026a92b4f8c1646da7da196f5304043c5425cb2 (patch) | |
tree | ad45b8951cb61179b7e224175db65c30198aba39 | |
parent | 36502ab5d613e49fc3c393c9e41db9ef22c98041 (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.cpp | 45 | ||||
-rw-r--r-- | tests/auto/blackbox/tst_blackboxjava.h | 1 |
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 ¤tJavaVersion : 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: |