aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2019-05-10 11:22:31 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2019-05-10 11:22:31 +0200
commitdb4a3f1f91a5ddec9c6447e28ced46e6e381ac18 (patch)
treea3f4619d19a53d40c8a41968a540efd0f5cddbff /tests
parentfe497bfaa009b9dff1e7f3fb68d6207968a247c5 (diff)
parent6429e872494925508bcf84f3d3b2f3f821d4eba5 (diff)
Merge 1.13 into master
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/blackbox/testdata-qt/static-qt-plugin-linking/main.cpp7
-rw-r--r--tests/auto/blackbox/testdata-qt/static-qt-plugin-linking/static-qt-plugin-linking.qbs9
-rw-r--r--tests/auto/blackbox/testdata/minimumSystemVersion/main.mm13
-rw-r--r--tests/auto/blackbox/tst_blackbox.cpp57
-rw-r--r--tests/auto/blackbox/tst_blackbox.h1
-rw-r--r--tests/auto/blackbox/tst_blackboxqt.cpp5
6 files changed, 75 insertions, 17 deletions
diff --git a/tests/auto/blackbox/testdata-qt/static-qt-plugin-linking/main.cpp b/tests/auto/blackbox/testdata-qt/static-qt-plugin-linking/main.cpp
new file mode 100644
index 000000000..d1bca9e2b
--- /dev/null
+++ b/tests/auto/blackbox/testdata-qt/static-qt-plugin-linking/main.cpp
@@ -0,0 +1,7 @@
+#include <QCoreApplication>
+
+int main(int argc, char *argv[])
+{
+ QCoreApplication app(argc, argv);
+ return app.exec();
+}
diff --git a/tests/auto/blackbox/testdata-qt/static-qt-plugin-linking/static-qt-plugin-linking.qbs b/tests/auto/blackbox/testdata-qt/static-qt-plugin-linking/static-qt-plugin-linking.qbs
index ed479c8f1..745fe5527 100644
--- a/tests/auto/blackbox/testdata-qt/static-qt-plugin-linking/static-qt-plugin-linking.qbs
+++ b/tests/auto/blackbox/testdata-qt/static-qt-plugin-linking/static-qt-plugin-linking.qbs
@@ -1,5 +1,5 @@
-StaticLibrary {
- name: "somelib"
+Product {
+ name: "p"
Probe {
id: staticQtChecker
property bool staticQt: Qt.core.staticBuild
@@ -10,6 +10,11 @@ StaticLibrary {
}
}
+ Group {
+ condition: type.contains("application")
+ files: "main.cpp"
+ }
+
Depends { name: "Qt.core" }
Depends { name: "Qt.gui" }
Depends { name: "Qt.qminimal"; condition: Qt.core.staticBuild; }
diff --git a/tests/auto/blackbox/testdata/minimumSystemVersion/main.mm b/tests/auto/blackbox/testdata/minimumSystemVersion/main.mm
index cd5a8ec75..23d31c85e 100644
--- a/tests/auto/blackbox/testdata/minimumSystemVersion/main.mm
+++ b/tests/auto/blackbox/testdata/minimumSystemVersion/main.mm
@@ -54,7 +54,20 @@ int main()
if (print && [line rangeOfString:@"version"].location != NSNotFound) {
std::cout << [[line stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] UTF8String] << std::endl;
print = false;
+ continue;
}
+
+#ifdef __clang__
+#if __clang_major__ >= 10 && __clang_minor__ >= 0
+ if ([line rangeOfString:@"LC_BUILD_VERSION"].location != NSNotFound)
+ print = true;
+
+ if (print && [line rangeOfString:@"minos"].location != NSNotFound) {
+ std::cout << [[line stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] UTF8String] << std::endl;
+ print = false;
+ }
+#endif
+#endif // __clang__
}
}
diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp
index 21f19c8a2..5747b52b1 100644
--- a/tests/auto/blackbox/tst_blackbox.cpp
+++ b/tests/auto/blackbox/tst_blackbox.cpp
@@ -36,6 +36,7 @@
#include <tools/preferences.h>
#include <tools/profile.h>
#include <tools/qttools.h>
+#include <tools/settings.h>
#include <tools/shellutils.h>
#include <tools/stlutils.h>
#include <tools/version.h>
@@ -146,6 +147,25 @@ bool TestBlackbox::lexYaccExist()
&& !findExecutable(QStringList("yacc")).isEmpty();
}
+qbs::Version TestBlackbox::bisonVersion()
+{
+ const auto yaccBinary = findExecutable(QStringList("yacc"));
+ QProcess process;
+ process.start(yaccBinary, QStringList() << "--version");
+ if (!process.waitForStarted())
+ return qbs::Version();
+ if (!process.waitForFinished())
+ return qbs::Version();
+ const auto processStdOut = process.readAllStandardOutput();
+ if (processStdOut.isEmpty())
+ return qbs::Version();
+ const auto line = processStdOut.split('\n')[0];
+ const auto words = line.split(' ');
+ if (words.empty())
+ return qbs::Version();
+ return qbs::Version::fromString(words.last());
+}
+
void TestBlackbox::sevenZip()
{
QDir::setCurrent(testDataDir + "/archiver");
@@ -4346,20 +4366,27 @@ void TestBlackbox::lexyaccOutputs()
} \
}
- QVERIFY(QDir::setCurrent(testDataDir + "/lexyacc/lex_prefix"));
- rmDirR(relativeBuildDir());
- QCOMPARE(runQbs(params), 0);
- VERIFY_COMPILATION(yaccOutputFilePath);
+ const auto version = bisonVersion();
+ if (version >= qbs::Version(2, 6)) {
+ // prefix only supported starting from bison 2.6
+ QVERIFY(QDir::setCurrent(testDataDir + "/lexyacc/lex_prefix"));
+ rmDirR(relativeBuildDir());
+ QCOMPARE(runQbs(params), 0);
+ VERIFY_COMPILATION(yaccOutputFilePath);
+ }
QVERIFY(QDir::setCurrent(testDataDir + "/lexyacc/lex_outfile"));
rmDirR(relativeBuildDir());
QCOMPARE(runQbs(params), 0);
VERIFY_COMPILATION(yaccOutputFilePath);
- QVERIFY(QDir::setCurrent(testDataDir + "/lexyacc/yacc_output"));
- rmDirR(relativeBuildDir());
- QCOMPARE(runQbs(params), 0);
- VERIFY_COMPILATION(lexOutputFilePath);
+ if (version >= qbs::Version(2, 4)) {
+ // output syntax was changed in bison 2.4
+ QVERIFY(QDir::setCurrent(testDataDir + "/lexyacc/yacc_output"));
+ rmDirR(relativeBuildDir());
+ QCOMPARE(runQbs(params), 0);
+ VERIFY_COMPILATION(lexOutputFilePath);
+ }
#undef VERIFY_COMPILATION
}
@@ -5207,8 +5234,9 @@ void TestBlackbox::qbsConfig()
bool canWriteToSystemSettings;
QString testSettingsFilePath;
{
- QSettings testSettings(QSettings::IniFormat, QSettings::SystemScope,
- "dummyOrg", "dummyApp");
+ QSettings testSettings(
+ qbs::Settings::defaultSystemSettingsBaseDir() + "/dummyOrg" + "/dummyApp.conf",
+ QSettings::IniFormat);
testSettings.setValue("dummyKey", "dummyValue");
testSettings.sync();
canWriteToSystemSettings = testSettings.status() == QSettings::NoError;
@@ -6477,10 +6505,11 @@ void TestBlackbox::minimumSystemVersion_data()
const auto v = defaultClangMinimumDeploymentTarget();
auto result = "__MAC_OS_X_VERSION_MIN_REQUIRED="
+ QString::number(toMinimumDeploymentTargetValue(v, true));
- if (v < qbs::Version(10, 14)) {
- result += "\nversion "
- + QString::number(v.majorVersion()) + "." + QString::number(v.minorVersion());
- }
+ if (v >= qbs::Version(10, 14))
+ result += "\nminos ";
+ else
+ result += "\nversion ";
+ result += QString::number(v.majorVersion()) + "." + QString::number(v.minorVersion());
return result;
}
diff --git a/tests/auto/blackbox/tst_blackbox.h b/tests/auto/blackbox/tst_blackbox.h
index 624cd5fbb..f7f1c9a29 100644
--- a/tests/auto/blackbox/tst_blackbox.h
+++ b/tests/auto/blackbox/tst_blackbox.h
@@ -310,6 +310,7 @@ private:
QMap<QString, QString> findTypeScript(int *status);
QString findArchiver(const QString &fileName, int *status = nullptr);
static bool lexYaccExist();
+ static qbs::Version bisonVersion();
};
#endif // TST_BLACKBOX_H
diff --git a/tests/auto/blackbox/tst_blackboxqt.cpp b/tests/auto/blackbox/tst_blackboxqt.cpp
index 4428ddb1d..2b2b6814e 100644
--- a/tests/auto/blackbox/tst_blackboxqt.cpp
+++ b/tests/auto/blackbox/tst_blackboxqt.cpp
@@ -411,9 +411,12 @@ void TestBlackboxQt::removeMocHeaderFromFileList()
void TestBlackboxQt::staticQtPluginLinking()
{
QDir::setCurrent(testDataDir + "/static-qt-plugin-linking");
- QCOMPARE(runQbs(), 0);
+ QCOMPARE(runQbs(QStringList("products.p.type:application")), 0);
const bool isStaticQt = m_qbsStdout.contains("Qt is static");
QVERIFY2(m_qbsStdout.contains("Creating static import") == isStaticQt, m_qbsStdout.constData());
+ QCOMPARE(runQbs(QbsRunParameters("resolve", QStringList("products.p.type:staticlibrary"))), 0);
+ QCOMPARE(runQbs(), 0);
+ QVERIFY2(!m_qbsStdout.contains("Creating static import"), m_qbsStdout.constData());
}
void TestBlackboxQt::trackAddMocInclude()