diff options
author | Arttu Tarkiainen <arttu.tarkiainen@qt.io> | 2020-04-01 15:49:41 +0300 |
---|---|---|
committer | Arttu Tarkiainen <arttu.tarkiainen@qt.io> | 2020-04-03 09:26:00 +0300 |
commit | e3f63bc8ba6453a381c2702962e25758365cbf01 (patch) | |
tree | 367f00af343d4dcd2e553df4f2c59b0b5b1fe013 /tests | |
parent | b79e9eccedb13a6a544cc8fa415d059095c200bc (diff) |
Add CLI test for SimpleMoveFileOperation
Task-number: QTIFW-1713
Change-Id: I44d844e60ec57aa4b0128e7b0a50f7c182872490
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
Diffstat (limited to 'tests')
5 files changed, 66 insertions, 0 deletions
diff --git a/tests/auto/installer/simplemovefileoperation/data/repository/A/1.0.2-1meta.7z b/tests/auto/installer/simplemovefileoperation/data/repository/A/1.0.2-1meta.7z Binary files differnew file mode 100644 index 000000000..8749fce7f --- /dev/null +++ b/tests/auto/installer/simplemovefileoperation/data/repository/A/1.0.2-1meta.7z diff --git a/tests/auto/installer/simplemovefileoperation/data/repository/Updates.xml b/tests/auto/installer/simplemovefileoperation/data/repository/Updates.xml new file mode 100644 index 000000000..77b5a9956 --- /dev/null +++ b/tests/auto/installer/simplemovefileoperation/data/repository/Updates.xml @@ -0,0 +1,13 @@ +<Updates> + <ApplicationName>{AnyApplication}</ApplicationName> + <ApplicationVersion>1.0.0</ApplicationVersion> + <PackageUpdate> + <Name>A</Name> + <DisplayName>A</DisplayName> + <Description>Example component A</Description> + <Version>1.0.2-1</Version> + <ReleaseDate>2015-01-01</ReleaseDate> + <Default>true</Default> + <Script>script.qs</Script> + </PackageUpdate> +</Updates> diff --git a/tests/auto/installer/simplemovefileoperation/settings.qrc b/tests/auto/installer/simplemovefileoperation/settings.qrc new file mode 100644 index 000000000..d030220ab --- /dev/null +++ b/tests/auto/installer/simplemovefileoperation/settings.qrc @@ -0,0 +1,6 @@ +<RCC> + <qresource prefix="/"> + <file>data/repository/Updates.xml</file> + <file>data/repository/A/1.0.2-1meta.7z</file> + </qresource> +</RCC> diff --git a/tests/auto/installer/simplemovefileoperation/simplemovefileoperation.pro b/tests/auto/installer/simplemovefileoperation/simplemovefileoperation.pro index 506def2fd..a96003065 100644 --- a/tests/auto/installer/simplemovefileoperation/simplemovefileoperation.pro +++ b/tests/auto/installer/simplemovefileoperation/simplemovefileoperation.pro @@ -4,3 +4,7 @@ QT -= gui QT += testlib SOURCES = tst_simplemovefileoperation.cpp + +RESOURCES += \ + settings.qrc \ + ..\shared\config.qrc diff --git a/tests/auto/installer/simplemovefileoperation/tst_simplemovefileoperation.cpp b/tests/auto/installer/simplemovefileoperation/tst_simplemovefileoperation.cpp index beeb63e14..482ed5d1a 100644 --- a/tests/auto/installer/simplemovefileoperation/tst_simplemovefileoperation.cpp +++ b/tests/auto/installer/simplemovefileoperation/tst_simplemovefileoperation.cpp @@ -27,6 +27,11 @@ **************************************************************************/ #include <simplemovefileoperation.h> + +#include <packagemanagercore.h> +#include <binarycontent.h> +#include <settings.h> +#include <init.h> #include <fileutils.h> #include <utils.h> @@ -109,6 +114,44 @@ private slots: QVERIFY(QFile(source).remove()); } + + void testPerformingFromCLI() + { + QInstaller::init(); //This will eat debug output + PackageManagerCore *core = new PackageManagerCore(BinaryContent::MagicInstallerMarker, QList<OperationBlob> ()); + core->setAllowedRunningProcesses(QStringList() << QCoreApplication::applicationFilePath()); + QSet<Repository> repoList; + Repository repo = Repository::fromUserInput(":///data/repository"); + repoList.insert(repo); + core->settings().setDefaultRepositories(repoList); + + QString installDir = QInstaller::generateTemporaryFileName(); + QVERIFY(QDir().mkpath(installDir)); + + QString destinationDir = installDir + QDir::separator() + "destination"; + QVERIFY(QDir().mkpath(destinationDir)); + + // Matches filename in component install script + QFile file(installDir + QDir::toNativeSeparators("/test")); + QVERIFY(file.open(QIODevice::ReadWrite)); + file.close(); + + core->setValue(scTargetDir, installDir); + core->installDefaultComponentsSilently(); + QVERIFY(!file.exists()); + + QFile movedFile(destinationDir + QDir::separator() + "test"); + QVERIFY(movedFile.exists()); + + core->setPackageManager(); + core->commitSessionOperations(); + core->uninstallComponentsSilently(QStringList() << "A"); + QVERIFY(!movedFile.exists() && file.exists()); + + QDir dir(installDir); + QVERIFY(dir.removeRecursively()); + core->deleteLater(); + } }; QTEST_MAIN(tst_simplemovefileoperation) |