diff options
author | Raphaël Cotty <raphael.cotty@gmail.com> | 2020-12-16 15:18:07 +0100 |
---|---|---|
committer | Raphaël Cotty <raphael.cotty@gmail.com> | 2020-12-18 12:38:01 +0000 |
commit | 1bb4c3c95e548bd57f733f2936e370cd40e81765 (patch) | |
tree | ad880c5ad14349956e3d1885c4e8fb0b8246cc23 /tests | |
parent | 9e9caf2268fd75f4bddd74084afcc7ba27fe5d2e (diff) | |
download | qbs-1bb4c3c95e548bd57f733f2936e370cd40e81765.tar.gz |
Add qt4 docker image for basic testing
Change-Id: Ied6d9eac49fcb20de72499ab7c39e83a90a98b75
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Diffstat (limited to 'tests')
11 files changed, 85 insertions, 5 deletions
diff --git a/tests/auto/blackbox/testdata-qt/dbus-adaptors/car.cpp b/tests/auto/blackbox/testdata-qt/dbus-adaptors/car.cpp index 5e4f348d2..f67e4c193 100644 --- a/tests/auto/blackbox/testdata-qt/dbus-adaptors/car.cpp +++ b/tests/auto/blackbox/testdata-qt/dbus-adaptors/car.cpp @@ -49,7 +49,12 @@ ****************************************************************************/ #include "car.h" + +#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) #include <QtWidgets/QtWidgets> +#else +#include <QtGui> +#endif #include <math.h> static const double Pi = 3.14159265358979323846264338327950288419717; diff --git a/tests/auto/blackbox/testdata-qt/dbus-adaptors/main.cpp b/tests/auto/blackbox/testdata-qt/dbus-adaptors/main.cpp index 0491719d7..197005215 100644 --- a/tests/auto/blackbox/testdata-qt/dbus-adaptors/main.cpp +++ b/tests/auto/blackbox/testdata-qt/dbus-adaptors/main.cpp @@ -50,9 +50,15 @@ #include "car.h" #include "car_adaptor.h" +#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) #include <QtWidgets/QApplication> #include <QtWidgets/QGraphicsView> #include <QtWidgets/QGraphicsScene> +#else +#include <QApplication> +#include <QGraphicsView> +#include <QGraphicsScene> +#endif #include <QtDBus/QDBusConnection> int main(int argc, char *argv[]) diff --git a/tests/auto/blackbox/testdata-qt/dbus-interfaces/controller.cpp b/tests/auto/blackbox/testdata-qt/dbus-interfaces/controller.cpp index eaff5c775..f6680676a 100644 --- a/tests/auto/blackbox/testdata-qt/dbus-interfaces/controller.cpp +++ b/tests/auto/blackbox/testdata-qt/dbus-interfaces/controller.cpp @@ -48,7 +48,12 @@ ** ****************************************************************************/ +#include <QtGlobal> +#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) #include <QtWidgets> +#else +#include <QtGui> +#endif #include "controller.h" #include "car_interface.h" diff --git a/tests/auto/blackbox/testdata-qt/dbus-interfaces/main.cpp b/tests/auto/blackbox/testdata-qt/dbus-interfaces/main.cpp index fdd9fc590..5ceba5a9f 100644 --- a/tests/auto/blackbox/testdata-qt/dbus-interfaces/main.cpp +++ b/tests/auto/blackbox/testdata-qt/dbus-interfaces/main.cpp @@ -48,7 +48,12 @@ ** ****************************************************************************/ +#include <QtGlobal> +#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) #include <QtWidgets> +#else +#include <QtGui> +#endif #include <QtDBus> #include "controller.h" diff --git a/tests/auto/blackbox/testdata-qt/forced-moc/forced-moc.qbs b/tests/auto/blackbox/testdata-qt/forced-moc/forced-moc.qbs index 736f40347..aab7ed220 100644 --- a/tests/auto/blackbox/testdata-qt/forced-moc/forced-moc.qbs +++ b/tests/auto/blackbox/testdata-qt/forced-moc/forced-moc.qbs @@ -1,5 +1,11 @@ +import qbs.Utilities + QtApplication { condition: { + if (Utilities.versionCompare(Qt.core.version, "5.0") < 0) { + console.info("using qt4"); + return false; + } var result = qbs.targetPlatform === qbs.hostPlatform; if (!result) console.info("targetPlatform differs from hostPlatform"); diff --git a/tests/auto/blackbox/testdata-qt/included-moc-cpp/included-moc-cpp.qbs b/tests/auto/blackbox/testdata-qt/included-moc-cpp/included-moc-cpp.qbs index 1ed85ccdd..218d5c150 100644 --- a/tests/auto/blackbox/testdata-qt/included-moc-cpp/included-moc-cpp.qbs +++ b/tests/auto/blackbox/testdata-qt/included-moc-cpp/included-moc-cpp.qbs @@ -1,6 +1,14 @@ import qbs +import qbs.Utilities QtApplication { + condition: { + if (Utilities.versionCompare(Qt.core.version, "5.0") < 0) { + console.info("using qt4"); + return false; + } + return true; + } files: [ "main.cpp", "myobject.cpp", diff --git a/tests/auto/blackbox/testdata-qt/plugin-meta-data/plugin-meta-data.qbs b/tests/auto/blackbox/testdata-qt/plugin-meta-data/plugin-meta-data.qbs index 7fb477575..7e5f98340 100644 --- a/tests/auto/blackbox/testdata-qt/plugin-meta-data/plugin-meta-data.qbs +++ b/tests/auto/blackbox/testdata-qt/plugin-meta-data/plugin-meta-data.qbs @@ -1,6 +1,13 @@ +import qbs.Utilities + Project { QtApplication { condition: { + if (Utilities.versionCompare(Qt.core.version, "5.0") < 0) { + // qt4 moc can't be used with pluginMetaData + console.info("using qt4"); + return false; + } var result = qbs.targetPlatform === qbs.hostPlatform; if (!result) console.info("targetPlatform differs from hostPlatform"); diff --git a/tests/auto/blackbox/testdata-qt/plugin-support/plugin-support.qbs b/tests/auto/blackbox/testdata-qt/plugin-support/plugin-support.qbs index c554a7dc2..8e0923e94 100644 --- a/tests/auto/blackbox/testdata-qt/plugin-support/plugin-support.qbs +++ b/tests/auto/blackbox/testdata-qt/plugin-support/plugin-support.qbs @@ -1,4 +1,14 @@ +import qbs.Utilities + QtGuiApplication { + condition: { + // pluginTypes empty for Qt4 + if (Utilities.versionCompare(Qt.core.version, "5.0") < 0) { + console.info("using qt4"); + return false; + } + return true; + } Probe { id: staticProbe property bool isStaticQt: Qt.gui.isStaticLibrary diff --git a/tests/auto/blackbox/testdata-qt/qrc/i.qbs b/tests/auto/blackbox/testdata-qt/qrc/i.qbs index 604652a8e..e98c069b5 100644 --- a/tests/auto/blackbox/testdata-qt/qrc/i.qbs +++ b/tests/auto/blackbox/testdata-qt/qrc/i.qbs @@ -1,6 +1,12 @@ +import qbs.Utilities + Project { Product { condition: { + if (Utilities.versionCompare(Qt.core.version, "5.0") < 0) { + console.info("using qt4"); + return false; + } var result = qbs.targetPlatform === qbs.hostPlatform; if (!result) console.info("targetPlatform differs from hostPlatform"); diff --git a/tests/auto/blackbox/testdata-qt/quick-compiler/quick-compiler.qbs b/tests/auto/blackbox/testdata-qt/quick-compiler/quick-compiler.qbs index b141c8672..793d261e9 100644 --- a/tests/auto/blackbox/testdata-qt/quick-compiler/quick-compiler.qbs +++ b/tests/auto/blackbox/testdata-qt/quick-compiler/quick-compiler.qbs @@ -1,5 +1,9 @@ CppApplication { - Depends { name: "Qt.quick" } + Depends { + name: "Qt.quick" + // Must fail when using Qt4 + versionAtLeast: "5" + } Qt.quick.useCompiler: Qt.quick.compilerAvailable cpp.cxxLanguageVersion: "c++11" diff --git a/tests/auto/blackbox/tst_blackboxqt.cpp b/tests/auto/blackbox/tst_blackboxqt.cpp index 4fc038923..53fadc490 100644 --- a/tests/auto/blackbox/tst_blackboxqt.cpp +++ b/tests/auto/blackbox/tst_blackboxqt.cpp @@ -70,7 +70,9 @@ void TestBlackboxQt::autoQrc() void TestBlackboxQt::cachedQml() { QDir::setCurrent(testDataDir + "/cached-qml"); - QCOMPARE(runQbs(), 0); + if ((runQbs() != 0) && m_qbsStderr.contains("Dependency 'Qt.qml' not found for product 'app'")) + QSKIP("Qt version too old"); + QString dataDir = relativeBuildDir() + "/install-root/data"; QVERIFY2(m_qbsStdout.contains("qmlcachegen must work: true") || m_qbsStdout.contains("qmlcachegen must work: false"), @@ -133,6 +135,8 @@ void TestBlackboxQt::forcedMoc() { QDir::setCurrent(testDataDir + "/forced-moc"); QCOMPARE(runQbs(QbsRunParameters("resolve")), 0); + if (m_qbsStdout.contains("using qt4")) + QSKIP("Qt version too old"); if (m_qbsStdout.contains("targetPlatform differs from hostPlatform")) QSKIP("Cannot run binaries in cross-compiled build"); QCOMPARE(runQbs(QbsRunParameters("run")), 0); @@ -143,6 +147,8 @@ void TestBlackboxQt::includedMocCpp() { QDir::setCurrent(testDataDir + "/included-moc-cpp"); QCOMPARE(runQbs(), 0); + if (m_qbsStdout.contains("using qt4")) + QSKIP("Qt version too old"); QVERIFY2(!m_qbsStdout.contains("compiling moc_myobject.cpp"), m_qbsStdout.constData()); WAIT_FOR_NEW_TIMESTAMP(); REPLACE_IN_FILE("myobject.cpp", "#include <moc_myobject.cpp", "// #include <moc_myobject.cpp"); @@ -296,6 +302,8 @@ void TestBlackboxQt::pluginMetaData() { QDir::setCurrent(testDataDir + "/plugin-meta-data"); QCOMPARE(runQbs(QbsRunParameters("resolve")), 0); + if (m_qbsStdout.contains("using qt4")) + QSKIP("Qt version too old"); if (m_qbsStdout.contains("targetPlatform differs from hostPlatform")) QSKIP("Cannot run binaries in cross-compiled build"); @@ -325,7 +333,11 @@ void TestBlackboxQt::pluginSupport() resolveParams.arguments << "modules.m1.useDummy:true"; resolveParams.expectFailure = true; } - QCOMPARE(runQbs(resolveParams) == 0, !invalidPlugin); + bool resolveResult = runQbs(resolveParams) == 0; + if (m_qbsStdout.contains("using qt4")) + QSKIP("Qt version too old"); + QCOMPARE(resolveResult, !invalidPlugin); + if (invalidPlugin) { QVERIFY2(m_qbsStderr.contains("Plugin 'dummy' of type 'imageformats' was requested, " "but is not available"), m_qbsStderr.constData()); @@ -404,7 +416,9 @@ void TestBlackboxQt::qmlTypeRegistrar() rmDirR(relativeBuildDir()); const QStringList args{"modules.Qt.qml.importName:" + importName, "modules.Qt.qml.typesInstallDir:" + installDir}; - QCOMPARE(runQbs(QbsRunParameters("resolve", args)), 0); + if ((runQbs(QbsRunParameters("resolve", args)) != 0) && + m_qbsStderr.contains("Dependency 'Qt.qml' not found for product 'myapp'")) + QSKIP("Qt version too old"); const bool hasRegistrar = m_qbsStdout.contains("has registrar"); const bool doesNotHaveRegistrar = m_qbsStdout.contains("does not have registrar"); QVERIFY(hasRegistrar != doesNotHaveRegistrar); @@ -437,7 +451,9 @@ void TestBlackboxQt::qtKeywords() void TestBlackboxQt::quickCompiler() { QDir::setCurrent(testDataDir + "/quick-compiler"); - QCOMPARE(runQbs(), 0); + if ((runQbs() != 0) && + m_qbsStderr.contains("'Qt.quick' has version 4.8.7, but it needs to be at least 5.0.0.")) + QSKIP("Qt version too old"); const bool hasCompiler = m_qbsStdout.contains("compiler available"); const bool doesNotHaveCompiler = m_qbsStdout.contains("compiler not available"); QVERIFY2(hasCompiler || doesNotHaveCompiler, m_qbsStdout.constData()); @@ -546,6 +562,8 @@ void TestBlackboxQt::track_qrc() { QDir::setCurrent(testDataDir + "/qrc"); QCOMPARE(runQbs(QbsRunParameters("resolve")), 0); + if (m_qbsStdout.contains("using qt4")) + QSKIP("Qt version too old"); if (m_qbsStdout.contains("targetPlatform differs from hostPlatform")) QSKIP("Cannot run binaries in cross-compiled build"); QCOMPARE(runQbs(QbsRunParameters("run")), 0); |