summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@theqtcompany.com>2014-11-18 12:16:17 +0100
committerKai Koehne <kai.koehne@theqtcompany.com>2014-11-18 12:16:17 +0100
commit4fb5d0f0390b1ddc150fe28b191fc3dbbb0ad77c (patch)
tree4ed0fd2aa8f31501ea466e659f623453bd9d1b02 /tests
parent778af9e97d5652c84e027b3e3ccad62122fc92b6 (diff)
parent3fb00b56b473bd8c71b5b8a19db4d61fa2279763 (diff)
Merge remote-tracking branch 'origin/1.6'
Conflicts: src/libs/installer/packagemanagercore.cpp src/sdk/installerbase.cpp tests/auto/installer/packagemanagercore/tst_packagemanagercore.cpp Change-Id: I807686f154249930d31de80289389f4655c27525
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/installer/packagemanagercore/tst_packagemanagercore.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/auto/installer/packagemanagercore/tst_packagemanagercore.cpp b/tests/auto/installer/packagemanagercore/tst_packagemanagercore.cpp
index dfa9865e5..b59afde7c 100644
--- a/tests/auto/installer/packagemanagercore/tst_packagemanagercore.cpp
+++ b/tests/auto/installer/packagemanagercore/tst_packagemanagercore.cpp
@@ -229,6 +229,42 @@ private slots:
QCOMPARE(root3->value(scVersion), QLatin1String("2.0.1"));
}
}
+
+ void testRequiredDiskSpace()
+ {
+ // test installer
+ PackageManagerCore core(MagicInstallerMarker);
+
+ DummyComponent *root = new DummyComponent(&core);
+ root->setValue(scName, "root");
+ root->setValue(scUncompressedSize, QString::number(1000));
+ core.appendRootComponent(root);
+
+ DummyComponent *child1 = new DummyComponent(&core);
+ child1->setValue(scName, "root.child1");
+ child1->setValue(scUncompressedSize, QString::number(1500));
+ root->appendComponent(child1);
+
+ DummyComponent *child2 = new DummyComponent(&core);
+ child2->setValue(scName, "root.child2");
+ child2->setValue(scUncompressedSize, QString::number(250));
+ root->appendComponent(child2);
+
+ // install root, child1 (child2 remains uninstalled)
+ root->setUninstalled();
+ child1->setUninstalled();
+ child2->setInstalled();
+ core.calculateComponentsToInstall();
+ QCOMPARE(core.requiredDiskSpace(), 2500ULL);
+
+ // additionally install child2
+ root->setInstalled();
+ child1->setInstalled();
+ child2->setUninstalled();
+ core.componentsToInstallNeedsRecalculation();
+ core.calculateComponentsToInstall();
+ QCOMPARE(core.requiredDiskSpace(), 250ULL);
+ }
};