diff options
Diffstat (limited to 'tests/auto/installer/deleteoperation')
3 files changed, 48 insertions, 20 deletions
diff --git a/tests/auto/installer/deleteoperation/data/xmloperationrepository/Updates.xml b/tests/auto/installer/deleteoperation/data/xmloperationrepository/Updates.xml new file mode 100644 index 000000000..6856014b9 --- /dev/null +++ b/tests/auto/installer/deleteoperation/data/xmloperationrepository/Updates.xml @@ -0,0 +1,17 @@ +<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> + <Operations> + <Operation name="Delete"> + <Argument>@TargetDir@/test</Argument> + </Operation> + </Operations> + </PackageUpdate> +</Updates> diff --git a/tests/auto/installer/deleteoperation/settings.qrc b/tests/auto/installer/deleteoperation/settings.qrc index d030220ab..04a7daf71 100644 --- a/tests/auto/installer/deleteoperation/settings.qrc +++ b/tests/auto/installer/deleteoperation/settings.qrc @@ -2,5 +2,6 @@ <qresource prefix="/"> <file>data/repository/Updates.xml</file> <file>data/repository/A/1.0.2-1meta.7z</file> + <file>data/xmloperationrepository/Updates.xml</file> </qresource> </RCC> diff --git a/tests/auto/installer/deleteoperation/tst_deleteoperation.cpp b/tests/auto/installer/deleteoperation/tst_deleteoperation.cpp index 72509f074..807d03498 100644 --- a/tests/auto/installer/deleteoperation/tst_deleteoperation.cpp +++ b/tests/auto/installer/deleteoperation/tst_deleteoperation.cpp @@ -41,6 +41,30 @@ using namespace QInstaller; class tst_deleteoperation : public QObject { Q_OBJECT +private: + void installFromCLI(const QString &repository) + { + QString installDir = QInstaller::generateTemporaryFileName(); + QVERIFY(QDir().mkpath(installDir)); + PackageManagerCore *core = PackageManager::getPackageManagerWithInit(installDir, repository); + + // Matches filename in component install script + QFile file(installDir + QDir::toNativeSeparators("/test")); + QVERIFY(file.open(QIODevice::ReadWrite)); + file.close(); + + core->installDefaultComponentsSilently(); + QVERIFY(!file.exists()); + + core->setPackageManager(); + core->commitSessionOperations(); + core->uninstallComponentsSilently(QStringList() << "A"); + QVERIFY(file.exists()); + + QDir dir(installDir); + QVERIFY(dir.removeRecursively()); + core->deleteLater(); + } private slots: void testMissingArguments() @@ -102,28 +126,14 @@ private slots: QVERIFY(QFile(path).remove()); } - void testPerformingFromCLI() + void testDeleteFromScript() { - QString installDir = QInstaller::generateTemporaryFileName(); - QVERIFY(QDir().mkpath(installDir)); - PackageManagerCore *core = PackageManager::getPackageManagerWithInit(installDir, ":///data/repository"); - - // Matches filename in component install script - QFile file(installDir + QDir::toNativeSeparators("/test")); - QVERIFY(file.open(QIODevice::ReadWrite)); - file.close(); - - core->installDefaultComponentsSilently(); - QVERIFY(!file.exists()); - - core->setPackageManager(); - core->commitSessionOperations(); - core->uninstallComponentsSilently(QStringList() << "A"); - QVERIFY(file.exists()); + installFromCLI(":///data/repository"); + } - QDir dir(installDir); - QVERIFY(dir.removeRecursively()); - core->deleteLater(); + void testDeleteFromXML() + { + installFromCLI(":///data/xmloperationrepository"); } }; |