summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorArttu Tarkiainen <arttu.tarkiainen@qt.io>2021-12-20 14:28:23 +0200
committerArttu Tarkiainen <arttu.tarkiainen@qt.io>2022-01-06 09:03:33 +0200
commit4cc03d71647ba0f29684f717bb9d8b4d41d75986 (patch)
treea19366cf9e8fda19cc1f077f5f8b63aa0330bcd9 /tests
parentb33e027fdbe0e29dac3094d8fef5b69ca02faff7 (diff)
Do not block installation when there are conflicting component names
- Components with conflicting original identifiers are not registered. - Components with conflicting tree names are registered with the original name, if installer is configured to allow unstable components. Otherwise they are not registered. - Unaffected components can be installed as usual. Task-number: QTIFW-2444 Change-Id: Ic1eaf3878f974185bc68202930134e5199dc0398 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/installer/treename/data/invalid_repository/Updates.xml10
-rw-r--r--tests/auto/installer/treename/tst_treename.cpp21
2 files changed, 17 insertions, 14 deletions
diff --git a/tests/auto/installer/treename/data/invalid_repository/Updates.xml b/tests/auto/installer/treename/data/invalid_repository/Updates.xml
index a9542eb0d..282e3a43f 100644
--- a/tests/auto/installer/treename/data/invalid_repository/Updates.xml
+++ b/tests/auto/installer/treename/data/invalid_repository/Updates.xml
@@ -9,10 +9,6 @@
<Version>1.0.0</Version>
<ReleaseDate>2014-08-25</ReleaseDate>
<SortingPriority>80</SortingPriority>
- <Dependencies>componentB.sub2</Dependencies>
- <UpdateFile CompressedSize="275" UncompressedSize="101" OS="Any"/>
- <DownloadableArchives>content.7z</DownloadableArchives>
- <SHA1>570dec768b1f266c66656f015e772f0e6e41b73d</SHA1>
</PackageUpdate>
<PackageUpdate>
<Name>componentA.sub1</Name>
@@ -21,9 +17,6 @@
<Version>1.0.0</Version>
<ReleaseDate>2014-08-25</ReleaseDate>
<SortingPriority>80</SortingPriority>
- <UpdateFile CompressedSize="283" UncompressedSize="101" OS="Any"/>
- <DownloadableArchives>content.7z</DownloadableArchives>
- <SHA1>da5819910a7f7c95eb61a49543e273fd6e2e9aae</SHA1>
</PackageUpdate>
<PackageUpdate>
<Name>componentB</Name>
@@ -32,9 +25,6 @@
<Version>1.0.0</Version>
<ReleaseDate>2014-08-25</ReleaseDate>
<SortingPriority>40</SortingPriority>
- <UpdateFile CompressedSize="275" UncompressedSize="101" OS="Any"/>
- <DownloadableArchives>content.7z</DownloadableArchives>
- <SHA1>72eee5304ff866e024b477d7b2432df8f2428483</SHA1>
<TreeName>componentA.sub1</TreeName>
</PackageUpdate>
</Updates>
diff --git a/tests/auto/installer/treename/tst_treename.cpp b/tests/auto/installer/treename/tst_treename.cpp
index b7a511ffb..58d005848 100644
--- a/tests/auto/installer/treename/tst_treename.cpp
+++ b/tests/auto/installer/treename/tst_treename.cpp
@@ -44,7 +44,8 @@ private slots:
void moveToSubItem();
void dependencyToMovedItem();
void autodependOnMovedItem();
- void moveToExistingItem();
+ void moveToExistingItemAllowUnstableComponents();
+ void moveToExistingItemNoUnstableComponents();
void init();
void cleanup();
@@ -111,12 +112,24 @@ void tst_TreeName::autodependOnMovedItem()
<< "componentASub2.txt" << "componentD.txt");
}
-void tst_TreeName::moveToExistingItem()
+void tst_TreeName::moveToExistingItemAllowUnstableComponents()
{
QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit
(m_installDir, ":///data/invalid_repository"));
- QCOMPARE(PackageManagerCore::Failure, core->installSelectedComponentsSilently(QStringList() << "componentA"));
- QCOMPARE(core->error(), "Cannot register component! Component with identifier componentA.sub1 already exists.");
+ core->settings().setAllowUnstableComponents(true);
+
+ QCOMPARE(PackageManagerCore::Success, core->installSelectedComponentsSilently(QStringList() << "componentA"));
+ QVERIFY(core->componentByName("componentB")->isUnstable());
+}
+
+void tst_TreeName::moveToExistingItemNoUnstableComponents()
+{
+ QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit
+ (m_installDir, ":///data/invalid_repository"));
+ core->settings().setAllowUnstableComponents(false);
+
+ QCOMPARE(PackageManagerCore::Success, core->installSelectedComponentsSilently(QStringList() << "componentA"));
+ QVERIFY(!core->componentByName("componentB"));
}
void tst_TreeName::init()