aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2018-12-19 17:37:58 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2019-01-14 13:48:58 +0000
commit893b4dc56c7e2ef21f4e253ccbbb20643d18cadf (patch)
tree8d467b2fe7e3580f38f00cd359c37b53cada8c60 /tests
parent90588a6a719aa143500d480582ae2de733ac7c0d (diff)
Qt support: Use gold linker if Qt is configured that way
Fixes: QBS-1421 Change-Id: I1f6d749eba38c9a4caa60341f19ee5e89e89d28a Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/blackbox/testdata-qt/linker-variant/main.cpp6
-rw-r--r--tests/auto/blackbox/testdata-qt/linker-variant/qt-linker-variant.qbs10
-rw-r--r--tests/auto/blackbox/tst_blackboxqt.cpp10
-rw-r--r--tests/auto/blackbox/tst_blackboxqt.h1
4 files changed, 27 insertions, 0 deletions
diff --git a/tests/auto/blackbox/testdata-qt/linker-variant/main.cpp b/tests/auto/blackbox/testdata-qt/linker-variant/main.cpp
new file mode 100644
index 000000000..d1c118fa9
--- /dev/null
+++ b/tests/auto/blackbox/testdata-qt/linker-variant/main.cpp
@@ -0,0 +1,6 @@
+#include <QtDebug>
+
+int main()
+{
+ qDebug() << "Tach.";
+}
diff --git a/tests/auto/blackbox/testdata-qt/linker-variant/qt-linker-variant.qbs b/tests/auto/blackbox/testdata-qt/linker-variant/qt-linker-variant.qbs
new file mode 100644
index 000000000..ab5889007
--- /dev/null
+++ b/tests/auto/blackbox/testdata-qt/linker-variant/qt-linker-variant.qbs
@@ -0,0 +1,10 @@
+QtApplication {
+ Probe {
+ id: qtConfigProbe
+ property stringList moduleConfig: Qt.core.moduleConfig
+ configure: {
+ console.info("Qt requires gold: " + moduleConfig.contains("use_gold_linker"));
+ }
+ }
+ files: "main.cpp"
+}
diff --git a/tests/auto/blackbox/tst_blackboxqt.cpp b/tests/auto/blackbox/tst_blackboxqt.cpp
index 3441255e2..88e1aa5ec 100644
--- a/tests/auto/blackbox/tst_blackboxqt.cpp
+++ b/tests/auto/blackbox/tst_blackboxqt.cpp
@@ -160,6 +160,16 @@ void TestBlackboxQt::includedMocCpp()
QVERIFY2(!m_qbsStdout.contains("compiling moc_myobject.cpp"), m_qbsStdout.constData());
}
+void TestBlackboxQt::linkerVariant()
+{
+ QDir::setCurrent(testDataDir + "/linker-variant");
+ QCOMPARE(runQbs(QStringList{"--command-echo-mode", "command-line"}), 0);
+ const bool goldRequired = m_qbsStdout.contains("Qt requires gold: true");
+ const bool goldNotRequired = m_qbsStdout.contains("Qt requires gold: false");
+ QVERIFY2(goldRequired != goldNotRequired, m_qbsStdout.constData());
+ QCOMPARE(m_qbsStdout.contains("-fuse-ld=gold"), goldRequired ? 1 : 0);
+}
+
void TestBlackboxQt::lrelease()
{
QDir::setCurrent(testDataDir + QLatin1String("/lrelease"));
diff --git a/tests/auto/blackbox/tst_blackboxqt.h b/tests/auto/blackbox/tst_blackboxqt.h
index f42c225d8..0240312a0 100644
--- a/tests/auto/blackbox/tst_blackboxqt.h
+++ b/tests/auto/blackbox/tst_blackboxqt.h
@@ -50,6 +50,7 @@ private slots:
void dbusAdaptors();
void dbusInterfaces();
void includedMocCpp();
+ void linkerVariant();
void lrelease();
void mixedBuildVariants();
void mocAndCppCombining();