4
1
mirror of https://github.com/QuasarApp/CQtDeployer.git synced 2025-05-06 14:39:35 +00:00

fix linux tests

This commit is contained in:
Andrei Yankovich 2022-10-05 17:05:38 +03:00
parent 8938be639e
commit fe631a5108
7 changed files with 76 additions and 46 deletions

@ -230,13 +230,27 @@ tstMain::tstMain() {
qputenv("QTEST_FUNCTION_TIMEOUT", "1800000");
QString cqtTestPath = qgetenv("CQT_TEST_ORIGINAL_PATH") + DeployCore::getEnvSeparator() + QT_BASE_DIR + "/../../Tools/QtInstallerFramework/4.0/bin/";
cqtTestPath += cqtTestPath + DeployCore::getEnvSeparator() + QT_BASE_DIR + "/../../Tools/QtInstallerFramework/4.1/bin/";
cqtTestPath += cqtTestPath + DeployCore::getEnvSeparator() + QT_BASE_DIR + "/../../Tools/QtInstallerFramework/4.2/bin/";
cqtTestPath += cqtTestPath + DeployCore::getEnvSeparator() + QT_BASE_DIR + "/../../Tools/QtInstallerFramework/4.3/bin/";
cqtTestPath += cqtTestPath + DeployCore::getEnvSeparator() + QT_BASE_DIR + "/../../Tools/QtInstallerFramework/4.4/bin/";
cqtTestPath += cqtTestPath + DeployCore::getEnvSeparator() + QT_BASE_DIR + "/../../Tools/QtInstallerFramework/4.5/bin/";
cqtTestPath += cqtTestPath + DeployCore::getEnvSeparator() + QT_BASE_DIR + "/bin/";
QString cqtTestPath = QString(QT_BASE_DIR) + "/bin/" +
DeployCore::getEnvSeparator() +
qgetenv("CQT_TEST_ORIGINAL_PATH");
cqtTestPath = cqtTestPath +
DeployCore::getEnvSeparator() +
QT_BASE_DIR + "/../../Tools/QtInstallerFramework/4.0/bin/";
cqtTestPath = cqtTestPath +
DeployCore::getEnvSeparator() +
QT_BASE_DIR + "/../../Tools/QtInstallerFramework/4.1/bin/";
cqtTestPath = cqtTestPath +
DeployCore::getEnvSeparator() +
QT_BASE_DIR + "/../../Tools/QtInstallerFramework/4.2/bin/";
cqtTestPath = cqtTestPath +
DeployCore::getEnvSeparator() +
QT_BASE_DIR + "/../../Tools/QtInstallerFramework/4.3/bin/";
cqtTestPath = cqtTestPath +
DeployCore::getEnvSeparator() +
QT_BASE_DIR + "/../../Tools/QtInstallerFramework/4.4/bin/";
cqtTestPath = cqtTestPath +
DeployCore::getEnvSeparator() +
QT_BASE_DIR + "/../../Tools/QtInstallerFramework/4.5/bin/";
qputenv("PATH", cqtTestPath.toLatin1().data());
TestUtils utils;

@ -29,14 +29,14 @@ void IgnoreEnvTest::test() {
};
QStringList testTree = {
"./testTree/test/z",
"./testTree/z",
"./testTree/test1/1z",
"./testTree/test2/1/z",
"./testTree/test/s",
"./testTree/s",
"./testTree/test1/1s",
"./testTree/test2/1/s",
};
createTree(ignoreTree);
createTree(testTree);
deployTree(ignoreTree);
deployTree(testTree);
env.setIgnoreEnvList(ignoreTree);
env.addEnv(ignoreTree);

@ -51,7 +51,7 @@ void IgnoreTest::test() {
#endif
if (!TestQtDir.contains("Qt5")) {
if (!TestQtDir.contains("Qt6")) {
#ifdef Q_OS_UNIX
bin = TestBinDir + "QtWidgetsProject";
@ -67,7 +67,7 @@ void IgnoreTest::test() {
runTestParams({"-bin", bin, "clear" ,
"-qmake", qmake,
"-ignore", "Qt5"}, &comapareTree);
"-ignore", "Qt6"}, &comapareTree);
@ -79,12 +79,12 @@ void IgnoreTest::test() {
"./" + DISTRO_DIR + "/plugins/virtualkeyboard/libqtvirtualkeyboard_tcime.so",
"./" + DISTRO_DIR + "/plugins/virtualkeyboard/libqtvirtualkeyboard_thai.so",
"./" + DISTRO_DIR + "/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so",
"./" + DISTRO_DIR + "/lib/libQt5VirtualKeyboard.so",
"./" + DISTRO_DIR + "/lib/libQt6VirtualKeyboard.so",
});
#else
auto removeTree = utils.createTree({
"./" + DISTRO_DIR + "/Qt5VirtualKeyboard.dll",
"./" + DISTRO_DIR + "/Qt6VirtualKeyboard.dll",
"./" + DISTRO_DIR + "/plugins/platforminputcontexts/qtvirtualkeyboardplugin.dll",
"./" + DISTRO_DIR + "/plugins/virtualkeyboard/qtvirtualkeyboard_hangul.dll",
"./" + DISTRO_DIR + "/plugins/virtualkeyboard/qtvirtualkeyboard_openwnn.dll",

@ -18,25 +18,25 @@ void LibDirTest::test() {
TestUtils utils;
#ifdef Q_OS_UNIX
QString bin = TestBinDir + "TestOnlyC";
QString bin = TestBinDir + "TestCPPOnly";
QString extraPath = "/usr/lib,/lib";
auto comapareTree = utils.createTree(
{
"./" + DISTRO_DIR + "/TestOnlyC.sh",
"./" + DISTRO_DIR + "/TestCPPOnly.sh",
"./" + DISTRO_DIR + "/bin/qt.conf",
"./" + DISTRO_DIR + "/bin/TestOnlyC"
"./" + DISTRO_DIR + "/bin/TestCPPOnly"
});
#else
QString bin = TestBinDir + "TestOnlyC.exe";
QString bin = TestBinDir + "TestCPPOnly.exe";
QString extraPath = TestQtDir;
auto comapareTree = utils.createTree(
{
"./" + DISTRO_DIR + "/qt.conf",
"./" + DISTRO_DIR + "/TestOnlyC.exe",
"./" + DISTRO_DIR + "/TestOnlyC.bat",
"./" + DISTRO_DIR + "/TestCPPOnly.exe",
"./" + DISTRO_DIR + "/TestCPPOnly.bat",
});
@ -53,21 +53,22 @@ void LibDirTest::test() {
#ifdef Q_OS_UNIX
comapareTree = utils.createTree(
{
"./" + DISTRO_DIR + "/TestOnlyC.sh",
"./" + DISTRO_DIR + "/TestCPPOnly.sh",
"./" + DISTRO_DIR + "/bin/qt.conf",
"./" + DISTRO_DIR + "/bin/TestOnlyC",
"./" + DISTRO_DIR + "/bin/TestCPPOnly",
"./" + DISTRO_DIR + "/lib/libstdc++.so",
"./" + DISTRO_DIR + "/lib/libgcc_s.so",
"./" + DISTRO_DIR + "/lib/ld-linux-x86-64.so",
"./" + DISTRO_DIR + "/lib/libc.so",
"./" + DISTRO_DIR + "/lib/libm.so",
});
auto comapareTreeExtraLib = utils.createTree(
{
"./" + DISTRO_DIR + "2/TestOnlyC.sh",
"./" + DISTRO_DIR + "2/TestCPPOnly.sh",
"./" + DISTRO_DIR + "2/bin/qt.conf",
"./" + DISTRO_DIR + "2/bin/TestOnlyC",
"./" + DISTRO_DIR + "2/bin/TestCPPOnly",
"./" + DISTRO_DIR + "2/lib/libstdc++.so",
"./" + DISTRO_DIR + "2/lib/libgcc_s.so"
});
@ -76,8 +77,8 @@ void LibDirTest::test() {
comapareTree = utils.createTree(
{
"./" + DISTRO_DIR + "/qt.conf",
"./" + DISTRO_DIR + "/TestOnlyC.exe",
"./" + DISTRO_DIR + "/TestOnlyC.bat",
"./" + DISTRO_DIR + "/TestCPPOnly.exe",
"./" + DISTRO_DIR + "/TestCPPOnly.bat",
#if defined(Q_OS_WIN64)
"./" + DISTRO_DIR + "/libgcc_s_seh-1.dll",
#else
@ -91,8 +92,8 @@ void LibDirTest::test() {
auto comapareTreeExtraLib = utils.createTree(
{
"./" + DISTRO_DIR + "2/qt.conf",
"./" + DISTRO_DIR + "2/TestOnlyC.exe",
"./" + DISTRO_DIR + "2/TestOnlyC.bat",
"./" + DISTRO_DIR + "2/TestCPPOnly.exe",
"./" + DISTRO_DIR + "2/TestCPPOnly.bat",
#if defined(Q_OS_WIN64)
"./" + DISTRO_DIR + "2/libgcc_s_seh-1.dll",
#else
@ -122,9 +123,9 @@ void LibDirTest::test() {
#ifdef Q_OS_UNIX
comapareTreeExtraLib = utils.createTree(
{
"./" + DISTRO_DIR + "/TestOnlyC.sh",
"./" + DISTRO_DIR + "/TestCPPOnly.sh",
"./" + DISTRO_DIR + "/bin/qt.conf",
"./" + DISTRO_DIR + "/bin/TestOnlyC",
"./" + DISTRO_DIR + "/bin/TestCPPOnly",
"./" + DISTRO_DIR + "/lib/libstdc++.so",
"./" + DISTRO_DIR + "/lib/libgcc_s.so"
});
@ -136,8 +137,8 @@ void LibDirTest::test() {
comapareTreeExtraLib = utils.createTree(
{
"./" + DISTRO_DIR + "/qt.conf",
"./" + DISTRO_DIR + "/TestOnlyC.exe",
"./" + DISTRO_DIR + "/TestOnlyC.bat",
"./" + DISTRO_DIR + "/TestCPPOnly.exe",
"./" + DISTRO_DIR + "/TestCPPOnly.bat",
#if defined(Q_OS_WIN64)
"./" + DISTRO_DIR + "/libgcc_s_seh-1.dll",
#else

@ -20,27 +20,27 @@ void QmlScanerTest::test() {
auto qmlRoot = QFileInfo(TestQtDir + "/qml").absoluteFilePath();
QML *scaner = new QML(qmlRoot, QtMajorVersion::Qt5);
auto imports = scaner->extractImportsFromFile(":/qmlFile.qml");
scaner->scanQmlTree(qmlRoot);
QSet<QString> results = {
{qmlRoot + "/QtQuick.2/"},
{qmlRoot + "/QtQuick/Controls.2/"},
{qmlRoot + "/QtQuick/Controls.2/Material/"},
{qmlRoot + "/QtQuick/Layouts/"},
};
QSet<QString> results = {
{qmlRoot + "/QtQuick.2/"},
{qmlRoot + "/QtQuick/Controls.2/"},
{qmlRoot + "/QtQuick/Controls.2/Material/"},
{qmlRoot + "/QtQuick/Layouts/"},
};
QVERIFY(results.size() == imports.size());
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
for (const auto &import: qAsConst(imports)) {
auto path = scaner->getPathFromImport(import);
QVERIFY(results.contains(path));
}
scaner->setQtVersion(QtMajorVersion::Qt6);
#endif
// qt6
scaner->setQtVersion(QtMajorVersion::Qt6);
results = {
{qmlRoot + "/QtQuick"},
@ -67,6 +67,8 @@ void QmlScanerTest::test() {
QVERIFY(results.contains(path));
}
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
// qt5
scaner->setQtVersion(QtMajorVersion::Qt5);
@ -87,7 +89,7 @@ void QmlScanerTest::test() {
auto path = scaner->getPathFromImport(import);
QVERIFY(results.contains(path));
}
#endif
// qt6
scaner->setQtVersion(QtMajorVersion::Qt6);

@ -91,6 +91,18 @@ QSet<QString> TestUtils::createTree(const QStringList &tree) {
return res;
}
QSet<QString> TestUtils::deployTree(const QStringList &tree) {
QSet<QString> res;
for (const auto &i : tree) {
QFileInfo fInfo(i);
if (!fInfo.exists() && QDir().mkpath(i)) {
res.insert(getFilePath(QFileInfo(i).absoluteFilePath()));
}
}
return res;
}
QHash<QString, int> TestUtils::compareTree(const QSet<QString> &leftTree, const QSet<QString> &rightTree) {
QHash<QString, int> result;

@ -18,6 +18,7 @@ public:
QSet<QString> getFilesSet(const QString& path, int limit = -1, int depch = 0);
QSet<QString> createTree( const QStringList& tree);
QSet<QString> deployTree( const QStringList& tree);
/**
* @brief compareTree - compare 2 tree