diff options
author | Kai Koehne <kai.koehne@theqtcompany.com> | 2014-11-18 12:16:17 +0100 |
---|---|---|
committer | Kai Koehne <kai.koehne@theqtcompany.com> | 2014-11-18 12:16:17 +0100 |
commit | 4fb5d0f0390b1ddc150fe28b191fc3dbbb0ad77c (patch) | |
tree | 4ed0fd2aa8f31501ea466e659f623453bd9d1b02 /tests | |
parent | 778af9e97d5652c84e027b3e3ccad62122fc92b6 (diff) | |
parent | 3fb00b56b473bd8c71b5b8a19db4d61fa2279763 (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.cpp | 36 |
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); + } }; |