From bb5d66e573fd7208894353bb53cc2b556d26f199 Mon Sep 17 00:00:00 2001 From: EndrII Date: Sat, 27 Mar 2021 11:14:14 +0300 Subject: [PATCH 1/5] ref #549 "added qmldir scanner" --- Deploy/qml.cpp | 67 +++++++++++++++++++++++++++--------- Deploy/qml.h | 6 ++-- UnitTests/modulesqt513.cpp | 8 ++++- UnitTests/tst_deploytest.cpp | 4 +-- 4 files changed, 64 insertions(+), 21 deletions(-) diff --git a/Deploy/qml.cpp b/Deploy/qml.cpp index 400ca45..7a38c47 100644 --- a/Deploy/qml.cpp +++ b/Deploy/qml.cpp @@ -13,7 +13,27 @@ #include "deploycore.h" #include "deployconfig.h" -QStringList QML::extractImportsFromFile(const QString &filepath) { +QStringList QML::extractImportLine(const QString& line) const { + QStringList result; + QStringList list = line.split(" ", QString::SkipEmptyParts); + + if (list.count() == 3 || (list.count() == 5 && list[3] == "as")) { + if (list[2] == "auto") { + // qt6 + result << (list[1].replace(".", "/")); + return {}; + } + // qt5 + result << (list[2][0] + "#" + list[1].replace(".", "/")); + } else if (list.count() == 2 || (list.count() == 4 && list[2] == "as")) { + // qt6 + result << (list[1].replace(".", "/")); + } + + return result; +} + +QStringList QML::extractImportsFromFile(const QString &filepath) const { QStringList imports; QFile F(filepath); if (!F.open(QIODevice::ReadOnly)) return QStringList(); @@ -29,20 +49,7 @@ QStringList QML::extractImportsFromFile(const QString &filepath) { if (word.startsWith("//")) continue; if (!word.startsWith("import")) continue; - QStringList list = word.split(" ", QString::SkipEmptyParts); - - if (list.count() == 3 || (list.count() == 5 && list[3] == "as")) { - if (list[2] == "auto") { - // qt6 - imports << (list[1].replace(".", "/")); - continue; - } - // qt5 - imports << (list[2][0] + "#" + list[1].replace(".", "/")); - } else if (list.count() == 2 || (list.count() == 4 && list[2] == "as")) { - // qt6 - imports << (list[1].replace(".", "/")); - } + imports += extractImportLine(word); } return imports; @@ -56,6 +63,8 @@ bool QML::extractImportsFromDir(const QString &path, bool recursive) { } auto files = dir.entryInfoList(QStringList() << "*.qml" << "*.QML", QDir::Files); + auto qmlmodule = dir.entryInfoList(QStringList() << "qmldir", QDir::Files); + auto dirs = dir.entryInfoList(QDir::NoDotAndDotDot | QDir::Dirs); for (const auto &info: files) { @@ -68,6 +77,17 @@ bool QML::extractImportsFromDir(const QString &path, bool recursive) { } } + for (const auto& module: qAsConst(qmlmodule)) { + QStringList imports = extractImportsFromQmlModule(module.absoluteFilePath()); + + for (auto import : imports) { + if (!_imports.contains(import)) { + _imports.insert(import); + extractImportsFromDir(getPathFromImport(import), recursive); + } + } + } + if (recursive) { for (const auto &info: dirs) { extractImportsFromDir(info.absoluteFilePath(), recursive); @@ -156,8 +176,23 @@ bool QML::scanQmlTree(const QString &qmlTree) { return true; } -void QML::addImport() { +QStringList QML::extractImportsFromQmlModule(const QString &module) const { + QStringList imports; + QFile F(module); + if (!F.open(QIODevice::ReadOnly)) return QStringList(); + QString content = F.readAll(); + + for (QString line : content.split("\n")) { + line = line.simplified(); + if (line.startsWith("//") || line.startsWith("#")) continue; + if (!line.startsWith("depends")) continue; + + QStringList list = line.split(" ", QString::SkipEmptyParts); + imports += extractImportLine(line); + } + + return imports; } QML::QML(const QString &qmlRoot) { diff --git a/Deploy/qml.h b/Deploy/qml.h index e135cf0..f664233 100644 --- a/Deploy/qml.h +++ b/Deploy/qml.h @@ -15,7 +15,7 @@ class DEPLOYSHARED_EXPORT QML { private: - QStringList extractImportsFromFile(const QString &filepath); + QStringList extractImportsFromFile(const QString &filepath) const; bool extractImportsFromDir(const QString &path, bool recursive = false); @@ -23,11 +23,13 @@ private: bool deployPath( const QString& path, QStringList& res); bool scanQmlTree(const QString& qmlTree); - void addImport(); + QStringList extractImportsFromQmlModule(const QString& module) const; QString _qmlRoot = ""; QSet _imports; QSet secondVersions; + QStringList extractImportLine(const QString &line) const; + public: QML(const QString& qmlRoot); diff --git a/UnitTests/modulesqt513.cpp b/UnitTests/modulesqt513.cpp index 1703afd..e2fc394 100644 --- a/UnitTests/modulesqt513.cpp +++ b/UnitTests/modulesqt513.cpp @@ -1305,7 +1305,10 @@ QSet ModulesQt513::qmlVirtualKeyBoadrLibs(const QString &distDir) const "./" + distDir + "/qml/QtQuick/VirtualKeyboard/Styles/qmldir", "./" + distDir + "/qml/QtQuick/VirtualKeyboard/libqtquickvirtualkeyboardplugin.so", "./" + distDir + "/qml/QtQuick/VirtualKeyboard/plugins.qmltypes", - "./" + distDir + "/qml/QtQuick/VirtualKeyboard/qmldir" + "./" + distDir + "/qml/QtQuick/VirtualKeyboard/qmldir", + "./" + distDir + "/qml/Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.so", + "./" + distDir + "/qml/Qt/labs/folderlistmodel/plugins.qmltypes", + "./" + distDir + "/qml/Qt/labs/folderlistmodel/qmldir" }); #else Tree += utils.createTree({ @@ -1343,6 +1346,9 @@ QSet ModulesQt513::qmlVirtualKeyBoadrLibs(const QString &distDir) const "./" + distDir + "/qml/QtQuick/VirtualKeyboard/plugins.qmltypes", "./" + distDir + "/qml/QtQuick/VirtualKeyboard/qmldir", "./" + distDir + "/qml/QtQuick/VirtualKeyboard/qtquickvirtualkeyboardplugin.dll" + "./" + distDir + "/qml/Qt/labs/folderlistmodel/qmlfolderlistmodelplugin.dll", + "./" + distDir + "/qml/Qt/labs/folderlistmodel/plugins.qmltypes", + "./" + distDir + "/qml/Qt/labs/folderlistmodel/qmldir" }); #endif return Tree; diff --git a/UnitTests/tst_deploytest.cpp b/UnitTests/tst_deploytest.cpp index b1d62a6..185f968 100644 --- a/UnitTests/tst_deploytest.cpp +++ b/UnitTests/tst_deploytest.cpp @@ -692,7 +692,7 @@ void deploytest::testQmlScaner() { QVERIFY(results.size() == imports.size()); - for (auto import: imports) { + for (auto import: qAsConst(imports)) { auto path = scaner->getPathFromImport(import); QVERIFY(results.contains(path)); } @@ -730,7 +730,7 @@ void deploytest::testVirtualKeyBoard() { #endif auto comapareTree = TestModule.qmlVirtualKeyBoadrLibs(); - runTestParams({"-bin", bin, "clear" , + runTestParams({"-bin", bin, "clear" , "noStrip", "-qmake", qmake, "-qmlDir", TestBinDir + "/../virtualkeyboard"}, &comapareTree); } From 601ea1c3467387e16abac4a386e493795550b958 Mon Sep 17 00:00:00 2001 From: EndrII Date: Sat, 27 Mar 2021 12:19:11 +0300 Subject: [PATCH 2/5] added test for qmldir parser fix qml scaner tests (qt6) --- Deploy/configparser.cpp | 20 +++--------- Deploy/configparser.h | 1 - Deploy/deployconfig.cpp | 26 +++++++++++++++ Deploy/deployconfig.h | 14 ++++++++ Deploy/extracter.cpp | 2 +- Deploy/qml.cpp | 11 +++++-- Deploy/qml.h | 5 ++- UnitTests/res.qrc | 1 + UnitTests/testRes/qml/qmldir | 10 ++++++ UnitTests/tst_deploytest.cpp | 63 +++++++++++++++++++++++++++++++++--- 10 files changed, 126 insertions(+), 27 deletions(-) create mode 100644 UnitTests/testRes/qml/qmldir diff --git a/Deploy/configparser.cpp b/Deploy/configparser.cpp index 9b37a08..154d98e 100644 --- a/Deploy/configparser.cpp +++ b/Deploy/configparser.cpp @@ -617,18 +617,6 @@ QSet ConfigParser::getQtPathesFromTargets() { return res; } -QtMajorVersion ConfigParser::isNeededQt() const { - - auto Qt = QtMajorVersion::NoQt; - for (const auto &i: _config.targets()) { - if (i.isValid()) { - Qt = Qt | i.isDependetOfQt(); - } - } - - return Qt; -} - void ConfigParser::setTargetDir(const QString &target) { if (QuasarAppUtils::Params::isEndable("targetDir")) { @@ -921,7 +909,7 @@ bool ConfigParser::initQmakePrivate(const QString &qmake) { bool ConfigParser::initQmake() { - if (!isNeededQt()) { + if (!_config.isNeededQt()) { QuasarAppUtils::Params::log("deploy only C/C++ libraryes because a qmake is not needed" " for the distribution", QuasarAppUtils::Info); @@ -1029,7 +1017,7 @@ bool ConfigParser::setQmake(const QString &value) { } } - _config.qtDir.setQtVersion(isNeededQt()); + _config.qtDir.setQtVersion(_config.isNeededQt()); _config.envirement.addEnv(_config.qtDir.getLibs()); _config.envirement.addEnv(_config.qtDir.getBins()); @@ -1095,7 +1083,7 @@ bool ConfigParser::setQtDir(const QString &value) { _config.qtDir.setQtPlatform(Platform::Win); #endif - _config.qtDir.setQtVersion(isNeededQt()); + _config.qtDir.setQtVersion(_config.isNeededQt()); _config.envirement.addEnv(_config.qtDir.getLibs()); _config.envirement.addEnv(_config.qtDir.getBins()); @@ -1164,7 +1152,7 @@ void ConfigParser::initExtraNames() { * We need to add to extra names libraries without which qt will not work, * */ - if (isNeededQt()) { + if (_config.isNeededQt()) { auto libs = DeployCore::Qt3rdpartyLibs( _config.getPlatformOfAll()); deployExtraNames(libs); } diff --git a/Deploy/configparser.h b/Deploy/configparser.h index 959cbc1..c1d831a 100644 --- a/Deploy/configparser.h +++ b/Deploy/configparser.h @@ -106,7 +106,6 @@ private: iDistribution* getDistribution(); - QtMajorVersion isNeededQt() const; }; #endif // CQT_H diff --git a/Deploy/deployconfig.cpp b/Deploy/deployconfig.cpp index f55738b..6e5f18a 100644 --- a/Deploy/deployconfig.cpp +++ b/Deploy/deployconfig.cpp @@ -80,6 +80,32 @@ Platform DeployConfig::getPlatformOfAll() const { return result; } +QtMajorVersion DeployConfig::isNeededQt() const { + + auto Qt = QtMajorVersion::NoQt; + for (const auto &i: targets()) { + if (i.isValid()) { + Qt = Qt | i.isDependetOfQt(); + } + } + + return Qt; +} + +QtMajorVersion DeployConfig::isNeededQt(const QString &pacakge) const { + const auto targetsKeys = packages().value(pacakge).targets(); + + auto Qt = QtMajorVersion::NoQt; + for (const auto &i: targetsKeys) { + auto target = targets().value(i); + if (target.isValid()) { + Qt = Qt | target.isDependetOfQt(); + } + } + + return Qt; +} + const QHash &DeployConfig::targets() const { return _targets; } diff --git a/Deploy/deployconfig.h b/Deploy/deployconfig.h index 1da9f20..a76697f 100644 --- a/Deploy/deployconfig.h +++ b/Deploy/deployconfig.h @@ -105,6 +105,20 @@ public: */ Platform getPlatformOfAll() const; + /** + * @brief isNeededQt This method return all needed qt major version for all targets. + * @return qt major version + */ + QtMajorVersion isNeededQt() const; + + /** + * @brief isNeededQt This method return all needed qt major versions for the @a pacakge. + * @param pacakge This is validation pacakge. + * @return qt major version + */ + QtMajorVersion isNeededQt(const QString& pacakge) const; + + private: /** diff --git a/Deploy/extracter.cpp b/Deploy/extracter.cpp index 6169df3..5446fa9 100644 --- a/Deploy/extracter.cpp +++ b/Deploy/extracter.cpp @@ -416,7 +416,7 @@ bool Extracter::extractQmlFromSource() { continue; } - QML ownQmlScaner(cnf->qtDir.getQmls()); + QML ownQmlScaner(cnf->qtDir.getQmls(), cnf->isNeededQt(i.key())); if (!ownQmlScaner.scan(plugins, info.absoluteFilePath())) { QuasarAppUtils::Params::log("qml scaner run failed!", diff --git a/Deploy/qml.cpp b/Deploy/qml.cpp index 7a38c47..f4f11e8 100644 --- a/Deploy/qml.cpp +++ b/Deploy/qml.cpp @@ -18,10 +18,10 @@ QStringList QML::extractImportLine(const QString& line) const { QStringList list = line.split(" ", QString::SkipEmptyParts); if (list.count() == 3 || (list.count() == 5 && list[3] == "as")) { - if (list[2] == "auto") { + if (list[2] == "auto" || (_qtVersion & QtMajorVersion::Qt6)) { // qt6 result << (list[1].replace(".", "/")); - return {}; + return result; } // qt5 result << (list[2][0] + "#" + list[1].replace(".", "/")); @@ -195,8 +195,13 @@ QStringList QML::extractImportsFromQmlModule(const QString &module) const { return imports; } -QML::QML(const QString &qmlRoot) { +void QML::setQtVersion(const QtMajorVersion &qtVersion) { + _qtVersion = qtVersion; +} + +QML::QML(const QString &qmlRoot, QtMajorVersion qtVersion) { _qmlRoot = qmlRoot; + setQtVersion(qtVersion); } diff --git a/Deploy/qml.h b/Deploy/qml.h index f664233..961d7b4 100644 --- a/Deploy/qml.h +++ b/Deploy/qml.h @@ -11,6 +11,7 @@ #include #include #include "deploy_global.h" +#include "deploycore.h" class DEPLOYSHARED_EXPORT QML { private: @@ -27,13 +28,15 @@ private: QString _qmlRoot = ""; QSet _imports; QSet secondVersions; + QtMajorVersion _qtVersion = QtMajorVersion::Qt5; QStringList extractImportLine(const QString &line) const; public: - QML(const QString& qmlRoot); + QML(const QString& qmlRoot, QtMajorVersion isQt6); bool scan(QStringList &res, const QString &_qmlProjectDir); + void setQtVersion(const QtMajorVersion &qtVersion); friend class deploytest; }; diff --git a/UnitTests/res.qrc b/UnitTests/res.qrc index 392472c..1d2c400 100644 --- a/UnitTests/res.qrc +++ b/UnitTests/res.qrc @@ -13,6 +13,7 @@ testRes/win64/msvc/lib.dll testRes/qml/Scene testRes/qml/SceneQt6 + testRes/qml/qmldir testRes/TestQMLWidgets.sh diff --git a/UnitTests/testRes/qml/qmldir b/UnitTests/testRes/qml/qmldir new file mode 100644 index 0000000..e1110f1 --- /dev/null +++ b/UnitTests/testRes/qml/qmldir @@ -0,0 +1,10 @@ +module QtQuick.VirtualKeyboard +plugin qtquickvirtualkeyboardplugin +classname QtQuickVirtualKeyboardPlugin +typeinfo plugins.qmltypes +depends QtQuick 2.0 +depends QtQuick.Window 2.2 +depends QtQuick.Layouts 1.0 +depends Qt.labs.folderlistmodel 2.1 +depends QtQuick.VirtualKeyboard.Settings 2.2 +depends QtQuick.VirtualKeyboard.Styles 2.2 diff --git a/UnitTests/tst_deploytest.cpp b/UnitTests/tst_deploytest.cpp index 185f968..5a57916 100644 --- a/UnitTests/tst_deploytest.cpp +++ b/UnitTests/tst_deploytest.cpp @@ -678,7 +678,7 @@ void deploytest::testQmlScaner() { // qt5 auto qmlRoot = QFileInfo(TestQtDir + "/qml").absoluteFilePath(); - QML *scaner = new QML(qmlRoot); + QML *scaner = new QML(qmlRoot, QtMajorVersion::Qt5); auto imports = scaner->extractImportsFromFile(":/qmlFile.qml"); scaner->scanQmlTree(qmlRoot); @@ -692,12 +692,14 @@ void deploytest::testQmlScaner() { QVERIFY(results.size() == imports.size()); - for (auto import: qAsConst(imports)) { + for (const auto &import: qAsConst(imports)) { auto path = scaner->getPathFromImport(import); QVERIFY(results.contains(path)); } + scaner->setQtVersion(QtMajorVersion::Qt6); + // qt6 results = { @@ -711,7 +713,58 @@ void deploytest::testQmlScaner() { QVERIFY(results.size() == imports.size()); - for (auto import: imports) { + for (const auto &import: qAsConst(imports)) { + auto path = scaner->getPathFromImport(import); + QVERIFY(results.contains(path)); + } + + imports = scaner->extractImportsFromFile(":/qmlFile.qml"); + + QVERIFY(results.size() == imports.size()); + + for (const auto & import: qAsConst(imports)) { + auto path = scaner->getPathFromImport(import); + QVERIFY(results.contains(path)); + } + + // qt5 + scaner->setQtVersion(QtMajorVersion::Qt5); + + results = { + {qmlRoot + "/QtQuick.2/"}, + {qmlRoot + "/QtQuick/Window.2/"}, + {qmlRoot + "/QtQuick/Layouts/"}, + {qmlRoot + "/Qt/labs/folderlistmodel/"}, + {qmlRoot + "/QtQuick/VirtualKeyboard/Settings/"}, + {qmlRoot + "/QtQuick/VirtualKeyboard/Styles/"}, + }; + + imports = scaner->extractImportsFromQmlModule(":/qmlDir"); + + QVERIFY(results.size() == imports.size()); + + for (const auto &import: qAsConst(imports)) { + auto path = scaner->getPathFromImport(import); + QVERIFY(results.contains(path)); + } + + // qt6 + scaner->setQtVersion(QtMajorVersion::Qt6); + + results = { + {qmlRoot + "/QtQuick"}, + {qmlRoot + "/QtQuick/Window"}, + {qmlRoot + "/QtQuick/Layouts"}, + {qmlRoot + "/Qt/labs/folderlistmodel"}, + {qmlRoot + "/QtQuick/VirtualKeyboard/Settings"}, + {qmlRoot + "/QtQuick/VirtualKeyboard/Styles"}, + }; + + imports = scaner->extractImportsFromQmlModule(":/qmlDir"); + + QVERIFY(results.size() == imports.size()); + + for (const auto &import: qAsConst(imports)) { auto path = scaner->getPathFromImport(import); QVERIFY(results.contains(path)); } @@ -730,7 +783,7 @@ void deploytest::testVirtualKeyBoard() { #endif auto comapareTree = TestModule.qmlVirtualKeyBoadrLibs(); - runTestParams({"-bin", bin, "clear" , "noStrip", + runTestParams({"-bin", bin, "clear", "-qmake", qmake, "-qmlDir", TestBinDir + "/../virtualkeyboard"}, &comapareTree); } @@ -742,7 +795,7 @@ void deploytest::testQmlExtrct() { auto qmlFiles = creator.getCopyedQml(); - QML scaner("./"); + QML scaner("./", QtMajorVersion::Qt5); for (const auto &file : qmlFiles) { From fab851f5cc58fe664be8fbe5ca82eee33ecc52c8 Mon Sep 17 00:00:00 2001 From: EndrII Date: Sat, 27 Mar 2021 12:53:25 +0300 Subject: [PATCH 3/5] ref #549 "fix tests" --- UnitTests/modulesqt515.cpp | 96 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) diff --git a/UnitTests/modulesqt515.cpp b/UnitTests/modulesqt515.cpp index 6f6baf3..3f468de 100644 --- a/UnitTests/modulesqt515.cpp +++ b/UnitTests/modulesqt515.cpp @@ -49,6 +49,22 @@ QSet ModulesQt515::qmlLibs(const QString &distDir) const { "./" + distDir + "/qml/QtQuick/Controls.2/VerticalHeaderView.qml", "./" + distDir + "/qml/QtQuick/Controls.2/designer/InsetSection.qml", "./" + distDir + "/translations/qtdeclarative_tr.qm", + "./" + distDir + "/lib/Qt5RemoteObjects.dll", + "./" + distDir + "/qml/QtQml/Models.2/modelsplugin.dll", + "./" + distDir + "/qml/QtQml/Models.2/plugins.qmltypes", + "./" + distDir + "/qml/QtQml/Models.2/qmldir", + "./" + distDir + "/qml/QtQml/RemoteObjects/qtqmlremoteobjects.dll", + "./" + distDir + "/qml/QtQml/RemoteObjects/plugins.qmltypes", + "./" + distDir + "/qml/QtQml/RemoteObjects/qmldir", + "./" + distDir + "/qml/QtQml/StateMachine/qtqmlstatemachine.dll", + "./" + distDir + "/qml/QtQml/StateMachine/plugins.qmltypes", + "./" + distDir + "/qml/QtQml/StateMachine/qmldir", + "./" + distDir + "/qml/QtQml/WorkerScript.2/workerscriptplugin.dll", + "./" + distDir + "/qml/QtQml/WorkerScript.2/plugins.qmltypes", + "./" + distDir + "/qml/QtQml/WorkerScript.2/qmldir", + "./" + distDir + "/qml/QtQml/qmlplugin.dll", + "./" + distDir + "/qml/QtQml/plugins.qmltypes", + "./" + distDir + "/qml/QtQml/qmldir", }); #else res -= utils.createTree({ @@ -86,6 +102,22 @@ QSet ModulesQt515::qmlLibs(const QString &distDir) const { "./" + distDir + "/qml/QtQuick/Controls.2/designer/InsetSection.qml", "./" + distDir + "/translations/qtdeclarative_tr.qm", + "./" + distDir + "/lib/libQt5RemoteObjects.so", + "./" + distDir + "/qml/QtQml/Models.2/libmodelsplugin.so", + "./" + distDir + "/qml/QtQml/Models.2/plugins.qmltypes", + "./" + distDir + "/qml/QtQml/Models.2/qmldir", + "./" + distDir + "/qml/QtQml/RemoteObjects/libqtqmlremoteobjects.so", + "./" + distDir + "/qml/QtQml/RemoteObjects/plugins.qmltypes", + "./" + distDir + "/qml/QtQml/RemoteObjects/qmldir", + "./" + distDir + "/qml/QtQml/StateMachine/libqtqmlstatemachine.so", + "./" + distDir + "/qml/QtQml/StateMachine/plugins.qmltypes", + "./" + distDir + "/qml/QtQml/StateMachine/qmldir", + "./" + distDir + "/qml/QtQml/WorkerScript.2/libworkerscriptplugin.so", + "./" + distDir + "/qml/QtQml/WorkerScript.2/plugins.qmltypes", + "./" + distDir + "/qml/QtQml/WorkerScript.2/qmldir", + "./" + distDir + "/qml/QtQml/libqmlplugin.so", + "./" + distDir + "/qml/QtQml/plugins.qmltypes", + "./" + distDir + "/qml/QtQml/qmldir", } ); #endif @@ -142,6 +174,22 @@ QSet ModulesQt515::testDistroLibs(const QString &distDir) const { "./" + distDir + "/package2/ZzZ/translations/qtdeclarative_tr.qm", "./" + distDir + "/package2/ZzZ/translations/qtbase_tr.qm", "./" + distDir + "/lolTr/qtbase_tr.qm", + "./" + distDir + "/package2/ZzZ/Qt5RemoteObjects.dll", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/Models.2/modelsplugin.dll", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/Models.2/plugins.qmltypes", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/Models.2/qmldir", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/RemoteObjects/qtqmlremoteobjects.dll", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/RemoteObjects/plugins.qmltypes", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/RemoteObjects/qmldir", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/StateMachine/qtqmlstatemachine.dll", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/StateMachine/plugins.qmltypes", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/StateMachine/qmldir", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/WorkerScript.2/workerscriptplugin.dll", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/WorkerScript.2/plugins.qmltypes", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/WorkerScript.2/qmldir", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/qmlplugin.dll", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/plugins.qmltypes", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/qmldir", }); @@ -171,6 +219,22 @@ QSet ModulesQt515::testDistroLibs(const QString &distDir) const { "./" + distDir + "/package2/ZzZ/translations/qtdeclarative_tr.qm", "./" + distDir + "/package2/ZzZ/translations/qtbase_tr.qm", "./" + distDir + "/lolTr/qtbase_tr.qm", + "./" + distDir + "/package2/ZzZ/lib/libQt5RemoteObjects.so", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/Models.2/libmodelsplugin.so", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/Models.2/plugins.qmltypes", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/Models.2/qmldir", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/RemoteObjects/libqtqmlremoteobjects.so", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/RemoteObjects/plugins.qmltypes", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/RemoteObjects/qmldir", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/StateMachine/libqtqmlstatemachine.so", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/StateMachine/plugins.qmltypes", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/StateMachine/qmldir", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/WorkerScript.2/libworkerscriptplugin.so", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/WorkerScript.2/plugins.qmltypes", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/WorkerScript.2/qmldir", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/libqmlplugin.so", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/plugins.qmltypes", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/qmldir", }); @@ -209,6 +273,22 @@ QSet ModulesQt515::testOutLibs(const QString &distDir) const { "./" + distDir + "/q/QtQuick/Controls.2/designer/InsetSection.qml", "./" + distDir + "/lolTr/qtdeclarative_tr.qm", "./" + distDir + "/lolTr/qtbase_tr.qm", + "./" + distDir + "/lolLib/Qt5RemoteObjects.dll", + "./" + distDir + "/q/QtQml/Models.2/modelsplugin.dll", + "./" + distDir + "/q/QtQml/Models.2/plugins.qmltypes", + "./" + distDir + "/q/QtQml/Models.2/qmldir", + "./" + distDir + "/q/QtQml/RemoteObjects/qtqmlremoteobjects.dll", + "./" + distDir + "/q/QtQml/RemoteObjects/plugins.qmltypes", + "./" + distDir + "/q/QtQml/RemoteObjects/qmldir", + "./" + distDir + "/q/QtQml/StateMachine/qtqmlstatemachine.dll", + "./" + distDir + "/q/QtQml/StateMachine/plugins.qmltypes", + "./" + distDir + "/q/QtQml/StateMachine/qmldir", + "./" + distDir + "/q/QtQml/WorkerScript.2/workerscriptplugin.dll", + "./" + distDir + "/q/QtQml/WorkerScript.2/plugins.qmltypes", + "./" + distDir + "/q/QtQml/WorkerScript.2/qmldir", + "./" + distDir + "/q/QtQml/qmlplugin.dll", + "./" + distDir + "/q/QtQml/plugins.qmltypes", + "./" + distDir + "/q/QtQml/qmldir", }); #else @@ -235,6 +315,22 @@ QSet ModulesQt515::testOutLibs(const QString &distDir) const { "./" + distDir + "/q/QtQuick/Controls.2/designer/InsetSection.qml", "./" + distDir + "/lolTr/qtdeclarative_tr.qm", "./" + distDir + "/lolTr/qtbase_tr.qm", + "./" + distDir + "/lolLib/libQt5RemoteObjects.so", + "./" + distDir + "/q/QtQml/Models.2/libmodelsplugin.so", + "./" + distDir + "/q/QtQml/Models.2/plugins.qmltypes", + "./" + distDir + "/q/QtQml/Models.2/qmldir", + "./" + distDir + "/q/QtQml/RemoteObjects/libqtqmlremoteobjects.so", + "./" + distDir + "/q/QtQml/RemoteObjects/plugins.qmltypes", + "./" + distDir + "/q/QtQml/RemoteObjects/qmldir", + "./" + distDir + "/q/QtQml/StateMachine/libqtqmlstatemachine.so", + "./" + distDir + "/q/QtQml/StateMachine/plugins.qmltypes", + "./" + distDir + "/q/QtQml/StateMachine/qmldir", + "./" + distDir + "/q/QtQml/WorkerScript.2/libworkerscriptplugin.so", + "./" + distDir + "/q/QtQml/WorkerScript.2/plugins.qmltypes", + "./" + distDir + "/q/QtQml/WorkerScript.2/qmldir", + "./" + distDir + "/q/QtQml/libqmlplugin.so", + "./" + distDir + "/q/QtQml/plugins.qmltypes", + "./" + distDir + "/q/QtQml/qmldir", }); res -= utils.createTree({ From eccc02014eed2dc9e494b718837312a16581b9df Mon Sep 17 00:00:00 2001 From: EndrII Date: Sat, 27 Mar 2021 16:28:54 +0300 Subject: [PATCH 4/5] ref #549 "fix tests added 5.15.2 case " --- UnitTests/UnitTests.pro | 2 + UnitTests/modules.h | 6 +- UnitTests/modulesqt515.cpp | 98 +--------------------- UnitTests/modulesqt5152.cpp | 162 ++++++++++++++++++++++++++++++++++++ UnitTests/modulesqt5152.h | 18 ++++ 5 files changed, 189 insertions(+), 97 deletions(-) create mode 100644 UnitTests/modulesqt5152.cpp create mode 100644 UnitTests/modulesqt5152.h diff --git a/UnitTests/UnitTests.pro b/UnitTests/UnitTests.pro index 04cc86a..83aedba 100644 --- a/UnitTests/UnitTests.pro +++ b/UnitTests/UnitTests.pro @@ -36,6 +36,7 @@ SOURCES += tst_deploytest.cpp \ modulesqt513.cpp \ modulesqt514.cpp \ modulesqt515.cpp \ + modulesqt5152.cpp \ qmlcreator.cpp \ testutils.cpp @@ -49,6 +50,7 @@ HEADERS += \ modulesqt513.h \ modulesqt514.h \ modulesqt515.h \ + modulesqt5152.h \ qmlcreator.h \ testutils.h diff --git a/UnitTests/modules.h b/UnitTests/modules.h index 7412ca7..a65b4f7 100644 --- a/UnitTests/modules.h +++ b/UnitTests/modules.h @@ -12,7 +12,11 @@ #include #include -#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 2) + #include "modulesqt5152.h" + class Modules : public ModulesQt5152 + +#elif QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) #include "modulesqt515.h" class Modules : public ModulesQt515 diff --git a/UnitTests/modulesqt515.cpp b/UnitTests/modulesqt515.cpp index 3f468de..15024ae 100644 --- a/UnitTests/modulesqt515.cpp +++ b/UnitTests/modulesqt515.cpp @@ -49,22 +49,6 @@ QSet ModulesQt515::qmlLibs(const QString &distDir) const { "./" + distDir + "/qml/QtQuick/Controls.2/VerticalHeaderView.qml", "./" + distDir + "/qml/QtQuick/Controls.2/designer/InsetSection.qml", "./" + distDir + "/translations/qtdeclarative_tr.qm", - "./" + distDir + "/lib/Qt5RemoteObjects.dll", - "./" + distDir + "/qml/QtQml/Models.2/modelsplugin.dll", - "./" + distDir + "/qml/QtQml/Models.2/plugins.qmltypes", - "./" + distDir + "/qml/QtQml/Models.2/qmldir", - "./" + distDir + "/qml/QtQml/RemoteObjects/qtqmlremoteobjects.dll", - "./" + distDir + "/qml/QtQml/RemoteObjects/plugins.qmltypes", - "./" + distDir + "/qml/QtQml/RemoteObjects/qmldir", - "./" + distDir + "/qml/QtQml/StateMachine/qtqmlstatemachine.dll", - "./" + distDir + "/qml/QtQml/StateMachine/plugins.qmltypes", - "./" + distDir + "/qml/QtQml/StateMachine/qmldir", - "./" + distDir + "/qml/QtQml/WorkerScript.2/workerscriptplugin.dll", - "./" + distDir + "/qml/QtQml/WorkerScript.2/plugins.qmltypes", - "./" + distDir + "/qml/QtQml/WorkerScript.2/qmldir", - "./" + distDir + "/qml/QtQml/qmlplugin.dll", - "./" + distDir + "/qml/QtQml/plugins.qmltypes", - "./" + distDir + "/qml/QtQml/qmldir", }); #else res -= utils.createTree({ @@ -102,22 +86,6 @@ QSet ModulesQt515::qmlLibs(const QString &distDir) const { "./" + distDir + "/qml/QtQuick/Controls.2/designer/InsetSection.qml", "./" + distDir + "/translations/qtdeclarative_tr.qm", - "./" + distDir + "/lib/libQt5RemoteObjects.so", - "./" + distDir + "/qml/QtQml/Models.2/libmodelsplugin.so", - "./" + distDir + "/qml/QtQml/Models.2/plugins.qmltypes", - "./" + distDir + "/qml/QtQml/Models.2/qmldir", - "./" + distDir + "/qml/QtQml/RemoteObjects/libqtqmlremoteobjects.so", - "./" + distDir + "/qml/QtQml/RemoteObjects/plugins.qmltypes", - "./" + distDir + "/qml/QtQml/RemoteObjects/qmldir", - "./" + distDir + "/qml/QtQml/StateMachine/libqtqmlstatemachine.so", - "./" + distDir + "/qml/QtQml/StateMachine/plugins.qmltypes", - "./" + distDir + "/qml/QtQml/StateMachine/qmldir", - "./" + distDir + "/qml/QtQml/WorkerScript.2/libworkerscriptplugin.so", - "./" + distDir + "/qml/QtQml/WorkerScript.2/plugins.qmltypes", - "./" + distDir + "/qml/QtQml/WorkerScript.2/qmldir", - "./" + distDir + "/qml/QtQml/libqmlplugin.so", - "./" + distDir + "/qml/QtQml/plugins.qmltypes", - "./" + distDir + "/qml/QtQml/qmldir", } ); #endif @@ -174,22 +142,6 @@ QSet ModulesQt515::testDistroLibs(const QString &distDir) const { "./" + distDir + "/package2/ZzZ/translations/qtdeclarative_tr.qm", "./" + distDir + "/package2/ZzZ/translations/qtbase_tr.qm", "./" + distDir + "/lolTr/qtbase_tr.qm", - "./" + distDir + "/package2/ZzZ/Qt5RemoteObjects.dll", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/Models.2/modelsplugin.dll", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/Models.2/plugins.qmltypes", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/Models.2/qmldir", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/RemoteObjects/qtqmlremoteobjects.dll", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/RemoteObjects/plugins.qmltypes", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/RemoteObjects/qmldir", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/StateMachine/qtqmlstatemachine.dll", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/StateMachine/plugins.qmltypes", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/StateMachine/qmldir", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/WorkerScript.2/workerscriptplugin.dll", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/WorkerScript.2/plugins.qmltypes", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/WorkerScript.2/qmldir", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/qmlplugin.dll", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/plugins.qmltypes", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/qmldir", }); @@ -219,22 +171,6 @@ QSet ModulesQt515::testDistroLibs(const QString &distDir) const { "./" + distDir + "/package2/ZzZ/translations/qtdeclarative_tr.qm", "./" + distDir + "/package2/ZzZ/translations/qtbase_tr.qm", "./" + distDir + "/lolTr/qtbase_tr.qm", - "./" + distDir + "/package2/ZzZ/lib/libQt5RemoteObjects.so", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/Models.2/libmodelsplugin.so", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/Models.2/plugins.qmltypes", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/Models.2/qmldir", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/RemoteObjects/libqtqmlremoteobjects.so", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/RemoteObjects/plugins.qmltypes", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/RemoteObjects/qmldir", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/StateMachine/libqtqmlstatemachine.so", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/StateMachine/plugins.qmltypes", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/StateMachine/qmldir", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/WorkerScript.2/libworkerscriptplugin.so", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/WorkerScript.2/plugins.qmltypes", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/WorkerScript.2/qmldir", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/libqmlplugin.so", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/plugins.qmltypes", - "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/qmldir", }); @@ -273,22 +209,7 @@ QSet ModulesQt515::testOutLibs(const QString &distDir) const { "./" + distDir + "/q/QtQuick/Controls.2/designer/InsetSection.qml", "./" + distDir + "/lolTr/qtdeclarative_tr.qm", "./" + distDir + "/lolTr/qtbase_tr.qm", - "./" + distDir + "/lolLib/Qt5RemoteObjects.dll", - "./" + distDir + "/q/QtQml/Models.2/modelsplugin.dll", - "./" + distDir + "/q/QtQml/Models.2/plugins.qmltypes", - "./" + distDir + "/q/QtQml/Models.2/qmldir", - "./" + distDir + "/q/QtQml/RemoteObjects/qtqmlremoteobjects.dll", - "./" + distDir + "/q/QtQml/RemoteObjects/plugins.qmltypes", - "./" + distDir + "/q/QtQml/RemoteObjects/qmldir", - "./" + distDir + "/q/QtQml/StateMachine/qtqmlstatemachine.dll", - "./" + distDir + "/q/QtQml/StateMachine/plugins.qmltypes", - "./" + distDir + "/q/QtQml/StateMachine/qmldir", - "./" + distDir + "/q/QtQml/WorkerScript.2/workerscriptplugin.dll", - "./" + distDir + "/q/QtQml/WorkerScript.2/plugins.qmltypes", - "./" + distDir + "/q/QtQml/WorkerScript.2/qmldir", - "./" + distDir + "/q/QtQml/qmlplugin.dll", - "./" + distDir + "/q/QtQml/plugins.qmltypes", - "./" + distDir + "/q/QtQml/qmldir", + }); #else @@ -315,22 +236,7 @@ QSet ModulesQt515::testOutLibs(const QString &distDir) const { "./" + distDir + "/q/QtQuick/Controls.2/designer/InsetSection.qml", "./" + distDir + "/lolTr/qtdeclarative_tr.qm", "./" + distDir + "/lolTr/qtbase_tr.qm", - "./" + distDir + "/lolLib/libQt5RemoteObjects.so", - "./" + distDir + "/q/QtQml/Models.2/libmodelsplugin.so", - "./" + distDir + "/q/QtQml/Models.2/plugins.qmltypes", - "./" + distDir + "/q/QtQml/Models.2/qmldir", - "./" + distDir + "/q/QtQml/RemoteObjects/libqtqmlremoteobjects.so", - "./" + distDir + "/q/QtQml/RemoteObjects/plugins.qmltypes", - "./" + distDir + "/q/QtQml/RemoteObjects/qmldir", - "./" + distDir + "/q/QtQml/StateMachine/libqtqmlstatemachine.so", - "./" + distDir + "/q/QtQml/StateMachine/plugins.qmltypes", - "./" + distDir + "/q/QtQml/StateMachine/qmldir", - "./" + distDir + "/q/QtQml/WorkerScript.2/libworkerscriptplugin.so", - "./" + distDir + "/q/QtQml/WorkerScript.2/plugins.qmltypes", - "./" + distDir + "/q/QtQml/WorkerScript.2/qmldir", - "./" + distDir + "/q/QtQml/libqmlplugin.so", - "./" + distDir + "/q/QtQml/plugins.qmltypes", - "./" + distDir + "/q/QtQml/qmldir", + }); res -= utils.createTree({ diff --git a/UnitTests/modulesqt5152.cpp b/UnitTests/modulesqt5152.cpp new file mode 100644 index 0000000..2ab14f0 --- /dev/null +++ b/UnitTests/modulesqt5152.cpp @@ -0,0 +1,162 @@ +#include "modulesqt5152.h" + +ModulesQt5152::ModulesQt5152() +{ + +} + +QSet ModulesQt5152::qmlLibs(const QString &distDir) const { + TestUtils utils; + + auto res = ModulesQt515::qmlLibs(distDir); +#ifdef Q_OS_WIN + res += utils.createTree({ + "./" + distDir + "/qml/QtQml/WorkerScript.2/qmldir", + "./" + distDir + "/qml/QtQml/qmldir", + "./" + distDir + "/qml/QtQml/qmlplugin.dll", + "./" + distDir + "/qml/QtQml/RemoteObjects/plugins.qmltypes", + "./" + distDir + "/qml/QtQml/RemoteObjects/qtqmlremoteobjects.dll", + "./" + distDir + "/qml/QtQml/StateMachine/qtqmlstatemachine.dll", + "./" + distDir + "/qml/QtQml/Models.2/modelsplugin.dll", + "./" + distDir + "/lib/Qt5RemoteObjects.dll", + "./" + distDir + "/qml/QtQml/Models.2/qmldir", + "./" + distDir + "/qml/QtQml/WorkerScript.2/plugins.qmltypes", + "./" + distDir + "/qml/QtQml/RemoteObjects/qmldir", + "./" + distDir + "/qml/QtQml/Models.2/plugins.qmltypes", + "./" + distDir + "/qml/QtQml/plugins.qmltypes", + "./" + distDir + "/qml/QtQml/StateMachine/plugins.qmltypes", + "./" + distDir + "/qml/QtQml/WorkerScript.2/workerscriptplugin.dll", + "./" + distDir + "/qml/QtQml/StateMachine/qmldir", + + }); +#else + res += utils.createTree({ + "./" + distDir + "/qml/QtQml/WorkerScript.2/qmldir", + "./" + distDir + "/qml/QtQml/qmldir", + "./" + distDir + "/qml/QtQml/libqmlplugin.so", + "./" + distDir + "/qml/QtQml/RemoteObjects/plugins.qmltypes", + "./" + distDir + "/qml/QtQml/RemoteObjects/libqtqmlremoteobjects.so", + "./" + distDir + "/qml/QtQml/StateMachine/libqtqmlstatemachine.so", + "./" + distDir + "/qml/QtQml/Models.2/libmodelsplugin.so", + "./" + distDir + "/lib/libQt5RemoteObjects.so", + "./" + distDir + "/qml/QtQml/Models.2/qmldir", + "./" + distDir + "/qml/QtQml/WorkerScript.2/plugins.qmltypes", + "./" + distDir + "/qml/QtQml/RemoteObjects/qmldir", + "./" + distDir + "/qml/QtQml/Models.2/plugins.qmltypes", + "./" + distDir + "/qml/QtQml/plugins.qmltypes", + "./" + distDir + "/qml/QtQml/StateMachine/plugins.qmltypes", + "./" + distDir + "/qml/QtQml/WorkerScript.2/libworkerscriptplugin.so", + "./" + distDir + "/qml/QtQml/StateMachine/qmldir", + + + }); +#endif + + return res; +} + +QSet ModulesQt5152::testDistroLibs(const QString &distDir) const { + TestUtils utils; + + auto res = ModulesQt515::testDistroLibs(distDir); + +#ifdef Q_OS_WIN + + res += utils.createTree({ + "./" + distDir + "/package2/ZzZ/Qt5RemoteObjects.dll", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/Models.2/modelsplugin.dll", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/Models.2/plugins.qmltypes", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/Models.2/qmldir", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/RemoteObjects/qtqmlremoteobjects.dll", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/RemoteObjects/plugins.qmltypes", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/RemoteObjects/qmldir", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/StateMachine/qtqmlstatemachine.dll", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/StateMachine/plugins.qmltypes", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/StateMachine/qmldir", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/WorkerScript.2/workerscriptplugin.dll", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/WorkerScript.2/plugins.qmltypes", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/WorkerScript.2/qmldir", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/qmlplugin.dll", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/plugins.qmltypes", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/qmldir", + + }); + +#else + res += utils.createTree({ + + "./" + distDir + "/package2/ZzZ/lib/libQt5RemoteObjects.so", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/Models.2/libmodelsplugin.so", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/Models.2/plugins.qmltypes", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/Models.2/qmldir", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/RemoteObjects/libqtqmlremoteobjects.so", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/RemoteObjects/plugins.qmltypes", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/RemoteObjects/qmldir", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/StateMachine/libqtqmlstatemachine.so", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/StateMachine/plugins.qmltypes", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/StateMachine/qmldir", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/WorkerScript.2/libworkerscriptplugin.so", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/WorkerScript.2/plugins.qmltypes", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/WorkerScript.2/qmldir", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/libqmlplugin.so", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/plugins.qmltypes", + "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/qmldir", + + }); + + +#endif + return res; +} + +QSet ModulesQt5152::testOutLibs(const QString &distDir) const { + TestUtils utils; + + auto res = ModulesQt515::testOutLibs(distDir); + +#ifdef Q_OS_WIN + res += utils.createTree({ + "./" + distDir + "/lolLib/Qt5RemoteObjects.dll", + "./" + distDir + "/q/QtQml/Models.2/modelsplugin.dll", + "./" + distDir + "/q/QtQml/Models.2/plugins.qmltypes", + "./" + distDir + "/q/QtQml/Models.2/qmldir", + "./" + distDir + "/q/QtQml/RemoteObjects/qtqmlremoteobjects.dll", + "./" + distDir + "/q/QtQml/RemoteObjects/plugins.qmltypes", + "./" + distDir + "/q/QtQml/RemoteObjects/qmldir", + "./" + distDir + "/q/QtQml/StateMachine/qtqmlstatemachine.dll", + "./" + distDir + "/q/QtQml/StateMachine/plugins.qmltypes", + "./" + distDir + "/q/QtQml/StateMachine/qmldir", + "./" + distDir + "/q/QtQml/WorkerScript.2/workerscriptplugin.dll", + "./" + distDir + "/q/QtQml/WorkerScript.2/plugins.qmltypes", + "./" + distDir + "/q/QtQml/WorkerScript.2/qmldir", + "./" + distDir + "/q/QtQml/qmlplugin.dll", + "./" + distDir + "/q/QtQml/plugins.qmltypes", + "./" + distDir + "/q/QtQml/qmldir", + + + }); +#else + res += utils.createTree({ + "./" + distDir + "/lolLib/libQt5RemoteObjects.so", + "./" + distDir + "/q/QtQml/Models.2/libmodelsplugin.so", + "./" + distDir + "/q/QtQml/Models.2/plugins.qmltypes", + "./" + distDir + "/q/QtQml/Models.2/qmldir", + "./" + distDir + "/q/QtQml/RemoteObjects/libqtqmlremoteobjects.so", + "./" + distDir + "/q/QtQml/RemoteObjects/plugins.qmltypes", + "./" + distDir + "/q/QtQml/RemoteObjects/qmldir", + "./" + distDir + "/q/QtQml/StateMachine/libqtqmlstatemachine.so", + "./" + distDir + "/q/QtQml/StateMachine/plugins.qmltypes", + "./" + distDir + "/q/QtQml/StateMachine/qmldir", + "./" + distDir + "/q/QtQml/WorkerScript.2/libworkerscriptplugin.so", + "./" + distDir + "/q/QtQml/WorkerScript.2/plugins.qmltypes", + "./" + distDir + "/q/QtQml/WorkerScript.2/qmldir", + "./" + distDir + "/q/QtQml/libqmlplugin.so", + "./" + distDir + "/q/QtQml/plugins.qmltypes", + "./" + distDir + "/q/QtQml/qmldir", + }); + +#endif + return res; + + +} diff --git a/UnitTests/modulesqt5152.h b/UnitTests/modulesqt5152.h new file mode 100644 index 0000000..9f82e47 --- /dev/null +++ b/UnitTests/modulesqt5152.h @@ -0,0 +1,18 @@ +#ifndef MODULESQT5152_H +#define MODULESQT5152_H + +#include "modulesqt515.h" + +class ModulesQt5152: public ModulesQt515 +{ +public: + ModulesQt5152(); + + // ModulesQt513 interface +public: + QSet qmlLibs(const QString &distDir = DISTRO_DIR) const override; + QSet testDistroLibs(const QString &distDir = DISTRO_DIR) const override; + QSet testOutLibs(const QString &distDir = DISTRO_DIR) const override; +}; + +#endif // MODULESQT5152_H From b12c2a2a0348e568ee6046dfa4f06805a1e746df Mon Sep 17 00:00:00 2001 From: EndrII Date: Sat, 27 Mar 2021 16:59:11 +0300 Subject: [PATCH 5/5] ref #549 "fix windows tests" --- UnitTests/modulesqt513.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/UnitTests/modulesqt513.cpp b/UnitTests/modulesqt513.cpp index e2fc394..18c05ac 100644 --- a/UnitTests/modulesqt513.cpp +++ b/UnitTests/modulesqt513.cpp @@ -1345,7 +1345,7 @@ QSet ModulesQt513::qmlVirtualKeyBoadrLibs(const QString &distDir) const "./" + distDir + "/qml/QtQuick/VirtualKeyboard/Styles/qtquickvirtualkeyboardstylesplugin.dll", "./" + distDir + "/qml/QtQuick/VirtualKeyboard/plugins.qmltypes", "./" + distDir + "/qml/QtQuick/VirtualKeyboard/qmldir", - "./" + distDir + "/qml/QtQuick/VirtualKeyboard/qtquickvirtualkeyboardplugin.dll" + "./" + distDir + "/qml/QtQuick/VirtualKeyboard/qtquickvirtualkeyboardplugin.dll", "./" + distDir + "/qml/Qt/labs/folderlistmodel/qmlfolderlistmodelplugin.dll", "./" + distDir + "/qml/Qt/labs/folderlistmodel/plugins.qmltypes", "./" + distDir + "/qml/Qt/labs/folderlistmodel/qmldir"