diff options
author | Raphael Cotty <raphael.cotty@gmail.com> | 2022-01-27 20:05:44 +0100 |
---|---|---|
committer | Raphaƫl Cotty <raphael.cotty@gmail.com> | 2022-02-01 06:37:44 +0000 |
commit | 54ec5e8851f0573beb466ddec2e20a1f3c2b7f7a (patch) | |
tree | 5d86286b45d7ccd23d40274554639c1690481328 /tests | |
parent | aa2094761aec16001ac0d19bf85483fdc2c78611 (diff) | |
download | qbs-54ec5e8851f0573beb466ddec2e20a1f3c2b7f7a.tar.gz |
Create Host service and update FileInfo
In order to use PathProbe and BinaryProbe in module providers, the qbs
properties used in the probes will be replaced by the Host and the
FileInfo services.
The new Host service implements these host related properties:
architecture,
os,
platform,
osVersion,
osBuildVersion,
osVersionParts,
osVersionMajor,
osVersionMinor,
osVersionPatch,
nullDevice
The FileInfo service implements these properties:
pathSeparator,
pathListSeparator
Task-number: QBS-1612
Change-Id: Icecde3d82a531a5b143ce150ffd544ee674e6f4d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/blackbox/testdata/jsextensions-fileinfo/fileinfo.qbs | 2 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata/jsextensions-host/host.qbs | 31 | ||||
-rw-r--r-- | tests/auto/blackbox/tst_blackbox.cpp | 40 | ||||
-rw-r--r-- | tests/auto/blackbox/tst_blackbox.h | 1 |
4 files changed, 73 insertions, 1 deletions
diff --git a/tests/auto/blackbox/testdata/jsextensions-fileinfo/fileinfo.qbs b/tests/auto/blackbox/testdata/jsextensions-fileinfo/fileinfo.qbs index d63ba2962..0e727d04b 100644 --- a/tests/auto/blackbox/testdata/jsextensions-fileinfo/fileinfo.qbs +++ b/tests/auto/blackbox/testdata/jsextensions-fileinfo/fileinfo.qbs @@ -39,6 +39,8 @@ Product { output.writeLine(FileInfo.relativePath("/tmp", "/blubb.tar.gz")); output.writeLine(FileInfo.toWindowsSeparators("/tmp/blubb.tar.gz")); output.writeLine(FileInfo.toWindowsSeparators("c:\\tmp\\blubb.tar.gz")); + output.writeLine(FileInfo.pathListSeparator()); + output.writeLine(FileInfo.pathSeparator()); output.close(); }; return [cmd]; diff --git a/tests/auto/blackbox/testdata/jsextensions-host/host.qbs b/tests/auto/blackbox/testdata/jsextensions-host/host.qbs new file mode 100644 index 000000000..08d13b25d --- /dev/null +++ b/tests/auto/blackbox/testdata/jsextensions-host/host.qbs @@ -0,0 +1,31 @@ +import qbs.FileInfo +import qbs.Host +import qbs.TextFile + +Product { + type: ["dummy"] + Rule { + multiplex: true + outputFileTags: "dummy" + prepare: { + var cmd = new JavaScriptCommand(); + cmd.silent = true; + cmd.sourceCode = function() { + var output = new TextFile(FileInfo.joinPaths(product.sourceDirectory, "output.txt"), + TextFile.WriteOnly); + output.writeLine("architecture: " +Host.architecture()); + output.writeLine("os: " + Host.os()); + output.writeLine("platform: " + Host.platform()); + output.writeLine("osVersion: " + Host.osVersion()); + output.writeLine("osBuildVersion: " + Host.osBuildVersion()); + output.writeLine("osVersionParts: " + Host.osVersionParts()); + output.writeLine("osVersionMajor: " + Host.osVersionMajor()); + output.writeLine("osVersionMinor: " + Host.osVersionMinor()); + output.writeLine("osVersionPatch: " + Host.osVersionPatch()); + output.writeLine("nullDevice: " + Host.nullDevice()); + output.close(); + }; + return [cmd]; + } + } +} diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp index bb292ffae..2846dd40b 100644 --- a/tests/auto/blackbox/tst_blackbox.cpp +++ b/tests/auto/blackbox/tst_blackbox.cpp @@ -4551,7 +4551,7 @@ void TestBlackbox::jsExtensionsFileInfo() QVERIFY(output.exists()); QVERIFY(output.open(QIODevice::ReadOnly)); const QList<QByteArray> lines = output.readAll().trimmed().split('\n'); - QCOMPARE(lines.size(), 26); + QCOMPARE(lines.size(), 28); int i = 0; QCOMPARE(lines.at(i++).trimmed().constData(), "blubb"); QCOMPARE(lines.at(i++).trimmed().constData(), qUtf8Printable( @@ -4580,6 +4580,44 @@ void TestBlackbox::jsExtensionsFileInfo() QCOMPARE(lines.at(i++).trimmed().constData(), "../blubb.tar.gz"); QCOMPARE(lines.at(i++).trimmed().constData(), "\\tmp\\blubb.tar.gz"); QCOMPARE(lines.at(i++).trimmed().constData(), "c:\\tmp\\blubb.tar.gz"); + QCOMPARE(lines.at(i++).trimmed().constData(), qUtf8Printable(HostOsInfo::pathListSeparator())); + QCOMPARE(lines.at(i++).trimmed().constData(), qUtf8Printable(HostOsInfo::pathSeparator())); +} + +void TestBlackbox::jsExtensionsHost() +{ + QDir::setCurrent(testDataDir + "//jsextensions-host"); + QbsRunParameters params(QStringList { "-f", "host.qbs" }); + QCOMPARE(runQbs(params), 0); + QFile output("output.txt"); + QVERIFY(output.exists()); + QVERIFY(output.open(QIODevice::ReadOnly)); + const QList<QByteArray> lines = output.readAll().trimmed().split('\n'); + QCOMPARE(lines.size(), 10); + int i = 0; + QCOMPARE(lines.at(i++).trimmed().constData(), "architecture: " + + HostOsInfo::hostOSArchitecture()); + QStringList list; + for (const auto &s : HostOsInfo::canonicalOSIdentifiers(HostOsInfo::hostOSIdentifier())) + list.push_back(QString::fromStdString(s)); + QCOMPARE(lines.at(i++).trimmed().constData(), "os: " + list.join(',')); + QCOMPARE(lines.at(i++).trimmed().constData(), "platform: " + HostOsInfo::hostOSIdentifier()); + QCOMPARE(lines.at(i++).trimmed().constData(), "osVersion: " + + HostOsInfo::hostOsVersion().toString()); + QCOMPARE(lines.at(i++).trimmed().constData(), "osBuildVersion: " + + (HostOsInfo::hostOsBuildVersion().isNull() ? "undefined" : + HostOsInfo::hostOsBuildVersion())); + QCOMPARE(lines.at(i++).trimmed().constData(), "osVersionParts: " + + HostOsInfo::hostOsVersion().toString(',')); + QCOMPARE(lines.at(i++).trimmed().constData(), "osVersionMajor: " + QString::number( + HostOsInfo::hostOsVersion().majorVersion())); + QCOMPARE(lines.at(i++).trimmed().constData(), "osVersionMinor: " + QString::number( + HostOsInfo::hostOsVersion().minorVersion())); + QCOMPARE(lines.at(i++).trimmed().constData(), "osVersionPatch: " + QString::number( + HostOsInfo::hostOsVersion().patchLevel())); + QString nullDevice = HostOsInfo::isWindowsHost() ? QStringLiteral("NUL") : + QStringLiteral("/dev/null"); + QCOMPARE(lines.at(i++).trimmed().constData(), "nullDevice: " + nullDevice); } void TestBlackbox::jsExtensionsProcess() diff --git a/tests/auto/blackbox/tst_blackbox.h b/tests/auto/blackbox/tst_blackbox.h index 987c87d6a..87761c09b 100644 --- a/tests/auto/blackbox/tst_blackbox.h +++ b/tests/auto/blackbox/tst_blackbox.h @@ -168,6 +168,7 @@ private slots: void invalidLibraryNames_data(); void jsExtensionsFile(); void jsExtensionsFileInfo(); + void jsExtensionsHost(); void jsExtensionsProcess(); void jsExtensionsPropertyList(); void jsExtensionsTemporaryDir(); |