summaryrefslogtreecommitdiffstats
path: root/tests/auto/installer/deleteoperation
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/installer/deleteoperation')
-rw-r--r--tests/auto/installer/deleteoperation/data/xmloperationrepository/Updates.xml17
-rw-r--r--tests/auto/installer/deleteoperation/settings.qrc1
-rw-r--r--tests/auto/installer/deleteoperation/tst_deleteoperation.cpp50
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");
}
};