diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2018-11-05 10:42:12 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2018-11-09 13:42:42 +0000 |
commit | 5f1b52e1c6f7668c3ea21ec11fde818ee6efd521 (patch) | |
tree | 6cc361275a896ef37ee80df96aed09a108ba966f /tests | |
parent | 66e1be8b18967aba395238cc71bb13eff631eaac (diff) |
Qt support: Allow users to pull in plugins by type
... and properly set the default values.
Fixes: QBS-1409
Change-Id: Ib8f3573fcb48d395d9212ac4b01e5caf910c575f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'tests')
6 files changed, 44 insertions, 0 deletions
diff --git a/tests/auto/blackbox/testdata-qt/plugin-support/modules/m1/m1.qbs b/tests/auto/blackbox/testdata-qt/plugin-support/modules/m1/m1.qbs new file mode 100644 index 000000000..d634742f3 --- /dev/null +++ b/tests/auto/blackbox/testdata-qt/plugin-support/modules/m1/m1.qbs @@ -0,0 +1,4 @@ +Module { + Depends { name: "Qt.plugin_support" } + Qt.plugin_support.pluginsByType: ({imageformats: "qjpeg"}) +} diff --git a/tests/auto/blackbox/testdata-qt/plugin-support/modules/m2/m2.qbs b/tests/auto/blackbox/testdata-qt/plugin-support/modules/m2/m2.qbs new file mode 100644 index 000000000..4941495ff --- /dev/null +++ b/tests/auto/blackbox/testdata-qt/plugin-support/modules/m2/m2.qbs @@ -0,0 +1,4 @@ +Module { + Depends { name: "Qt.plugin_support" } + Qt.plugin_support.pluginsByType: ({imageformats: "qgif"}) +} diff --git a/tests/auto/blackbox/testdata-qt/plugin-support/plugin-support-main.cpp b/tests/auto/blackbox/testdata-qt/plugin-support/plugin-support-main.cpp new file mode 100644 index 000000000..237c8ce18 --- /dev/null +++ b/tests/auto/blackbox/testdata-qt/plugin-support/plugin-support-main.cpp @@ -0,0 +1 @@ +int main() {} diff --git a/tests/auto/blackbox/testdata-qt/plugin-support/plugin-support.qbs b/tests/auto/blackbox/testdata-qt/plugin-support/plugin-support.qbs new file mode 100644 index 000000000..6ea0ecc51 --- /dev/null +++ b/tests/auto/blackbox/testdata-qt/plugin-support/plugin-support.qbs @@ -0,0 +1,16 @@ +QtGuiApplication { + Probe { + id: staticProbe + property bool isStaticQt: Qt.gui.isStaticLibrary + property var plugins: Qt.plugin_support.effectivePluginsByType + configure: { + console.info("static Qt: " + isStaticQt); + console.info("image plugins: " + plugins.imageformats); + console.info("platform plugin count: " + (plugins.platforms || []).length); + } + } + + Depends { name: "m1" } + Depends { name: "m2" } + files: "plugin-support-main.cpp" +} diff --git a/tests/auto/blackbox/tst_blackboxqt.cpp b/tests/auto/blackbox/tst_blackboxqt.cpp index 46df8c494..dfaaba504 100644 --- a/tests/auto/blackbox/tst_blackboxqt.cpp +++ b/tests/auto/blackbox/tst_blackboxqt.cpp @@ -256,6 +256,24 @@ void TestBlackboxQt::pluginMetaData() QVERIFY2(m_qbsStdout.contains("moc"), m_qbsStdout.constData()); } +void TestBlackboxQt::pluginSupport() +{ + QDir::setCurrent(testDataDir + "/plugin-support"); + QCOMPARE(runQbs(), 0); + const bool isStaticQt = m_qbsStdout.contains("static Qt: true"); + const bool isDynamicQt = m_qbsStdout.contains("static Qt: false"); + QVERIFY(isStaticQt != isDynamicQt); + QVERIFY2(!m_qbsStdout.contains("qt_plugin_import_qico.cpp"), m_qbsStdout.constData()); + if (isStaticQt) { + QVERIFY2(m_qbsStdout.contains("image plugins: qjpeg,qgif"), m_qbsStdout.constData()); + QVERIFY2(m_qbsStdout.contains("platform plugin count: 1"), m_qbsStdout.constData()); + QVERIFY2(m_qbsStdout.contains("qt_plugin_import_qjpeg.cpp"), m_qbsStdout.constData()); + QVERIFY2(m_qbsStdout.contains("qt_plugin_import_qgif.cpp"), m_qbsStdout.constData()); + } else { + QSKIP("Qt is not static"); + } +} + void TestBlackboxQt::qmlDebugging() { QDir::setCurrent(testDataDir + "/qml-debugging"); diff --git a/tests/auto/blackbox/tst_blackboxqt.h b/tests/auto/blackbox/tst_blackboxqt.h index 072f6abdf..b843978d4 100644 --- a/tests/auto/blackbox/tst_blackboxqt.h +++ b/tests/auto/blackbox/tst_blackboxqt.h @@ -57,6 +57,7 @@ private slots: void mocSameFileName(); void pkgconfig(); void pluginMetaData(); + void pluginSupport(); void qmlDebugging(); void qobjectInObjectiveCpp(); void qtKeywords(); |