diff options
Diffstat (limited to 'tests/auto/installer/packagemanagercore/tst_packagemanagercore.cpp')
-rw-r--r-- | tests/auto/installer/packagemanagercore/tst_packagemanagercore.cpp | 77 |
1 files changed, 26 insertions, 51 deletions
diff --git a/tests/auto/installer/packagemanagercore/tst_packagemanagercore.cpp b/tests/auto/installer/packagemanagercore/tst_packagemanagercore.cpp index ae2c3b211..410bfb01c 100644 --- a/tests/auto/installer/packagemanagercore/tst_packagemanagercore.cpp +++ b/tests/auto/installer/packagemanagercore/tst_packagemanagercore.cpp @@ -1,6 +1,6 @@ /************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. +** Copyright (C) 2022 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Installer Framework. @@ -46,7 +46,7 @@ using namespace QInstaller; class DummyComponent : public Component { public: - DummyComponent(PackageManagerCore *core) + explicit DummyComponent(PackageManagerCore *core) : Component(core) { setCheckState(Qt::Checked); @@ -260,7 +260,6 @@ private slots: root->setInstalled(); child1->setInstalled(); child2->setUninstalled(); - core.componentsToInstallNeedsRecalculation(); core.calculateComponentsToInstall(); QCOMPARE(core.requiredDiskSpace(), 250ULL); } @@ -288,58 +287,12 @@ private slots: QVERIFY(QDir().rmdir(testDirectory)); } - void testAllowRunningProcess() - { - #ifdef Q_OS_MACOS - QSKIP("In macOS the app path and maintenancetool differ, not possible to test running processes."); - #endif - PackageManagerCore core; - core.setPackageManager(); - const QString testDirectory = QInstaller::generateTemporaryFileName(); - QVERIFY(QDir().mkpath(testDirectory)); - core.setValue(scTargetDir, testDirectory); - - QString appFilePath = QCoreApplication::applicationFilePath(); - core.setAllowedRunningProcesses(QStringList() << appFilePath); - const QString warningMessage = QString("Failure to read packages from "); - const QRegularExpression re(warningMessage); - QTest::ignoreMessage(QtWarningMsg, re); - QTest::ignoreMessage(QtDebugMsg, "No updates available."); - - QCOMPARE(PackageManagerCore::Failure, core.updateComponentsSilently(QStringList())); - QVERIFY(QDir().rmdir(testDirectory)); - } - - void testDisallowRunningProcess() - { - #ifdef Q_OS_MACOS - QSKIP("In macOS the app path and maintenancetool differ, not possible to test running processes."); - #endif - PackageManagerCore core; - core.setPackageManager(); - const QString testDirectory = QInstaller::generateTemporaryFileName(); - QVERIFY(QDir().mkpath(testDirectory)); - core.setValue(scTargetDir, testDirectory); - - const QString warningMessageUp = QString("Unable to update components. Please stop these processes: "); - const QRegularExpression reUp(warningMessageUp); - QTest::ignoreMessage(QtWarningMsg, reUp); - QVERIFY_EXCEPTION_THROWN(core.updateComponentsSilently(QStringList()), Error); - - const QString warningMessageRm = QString("Unable to remove components. Please stop these processes: "); - const QRegularExpression reRm(warningMessageRm); - QTest::ignoreMessage(QtWarningMsg, reRm); - QVERIFY_EXCEPTION_THROWN(core.removeInstallationSilently(), Error); - - QVERIFY(QDir().rmdir(testDirectory)); - } - void testCoreDataValues() { QHash<QString, QString> userValues; PackageManagerCore *core = new PackageManagerCore(BinaryContent::MagicInstallerMarker, QList<OperationBlob> (), - QString(), Protocol::DefaultAuthorizationKey, Protocol::Mode::Production, + QString(), QString(), Protocol::DefaultAuthorizationKey, Protocol::Mode::Production, userValues, true); QCOMPARE(core->value("AllUsers"), QLatin1String("")); QCOMPARE(core->value("ProductName"), QLatin1String("Unit Test Application")); @@ -361,7 +314,7 @@ private slots: userValues.insert("RootDir", "Overwritten RootDir"); PackageManagerCore *core = new PackageManagerCore(BinaryContent::MagicInstallerMarker, QList<OperationBlob> (), - QString(), Protocol::DefaultAuthorizationKey, Protocol::Mode::Production, + QString(), QString(), Protocol::DefaultAuthorizationKey, Protocol::Mode::Production, userValues, true); QCOMPARE(core->value("AllUsers"), QLatin1String("true")); QCOMPARE(core->value("ProductName"), QLatin1String("Overwritten ProductName")); @@ -370,6 +323,28 @@ private slots: QCOMPARE(core->value("RootDir"), QLatin1String("Overwritten RootDir")); core->deleteLater(); } + + void testToFromNativeSeparators_data() + { + QTest::addColumn<QString>("path"); + QTest::newRow("Slash separator") << "a/test/path"; + QTest::newRow("Backslash separator") << "a\\test\\path"; + QTest::newRow("Mixed separators") << "a/test\\path"; + } + + void testToFromNativeSeparators() + { + QFETCH(QString, path); + + PackageManagerCore core; +#ifdef Q_OS_WIN + QCOMPARE(core.toNativeSeparators(path), "a\\test\\path"); + QCOMPARE(core.fromNativeSeparators(path), "a/test/path"); +#else + QCOMPARE(core.toNativeSeparators(path), path); + QCOMPARE(core.fromNativeSeparators(path), path); +#endif + } }; |