aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2018-11-05 10:42:12 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2018-11-09 13:42:42 +0000
commit5f1b52e1c6f7668c3ea21ec11fde818ee6efd521 (patch)
tree6cc361275a896ef37ee80df96aed09a108ba966f /tests
parent66e1be8b18967aba395238cc71bb13eff631eaac (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')
-rw-r--r--tests/auto/blackbox/testdata-qt/plugin-support/modules/m1/m1.qbs4
-rw-r--r--tests/auto/blackbox/testdata-qt/plugin-support/modules/m2/m2.qbs4
-rw-r--r--tests/auto/blackbox/testdata-qt/plugin-support/plugin-support-main.cpp1
-rw-r--r--tests/auto/blackbox/testdata-qt/plugin-support/plugin-support.qbs16
-rw-r--r--tests/auto/blackbox/tst_blackboxqt.cpp18
-rw-r--r--tests/auto/blackbox/tst_blackboxqt.h1
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();