diff options
author | Arttu Tarkiainen <arttu.tarkiainen@qt.io> | 2021-09-10 15:38:17 +0300 |
---|---|---|
committer | Arttu Tarkiainen <arttu.tarkiainen@qt.io> | 2021-09-10 15:38:17 +0300 |
commit | 41865907dae243fc5508ec4df35a98317cfb817c (patch) | |
tree | 4b2bf862319573c9ac8a3fa1603e06f7cda3ae7b /tests/auto | |
parent | bfa8427531cf871b7423c252f522b7bfe75c7edd (diff) | |
parent | 08e82c7f25401770fcd293d0bae1c08db30abf7d (diff) |
Merge remote-tracking branch 'origin/4.1' into master
Change-Id: I8e2864b3ec81cffa907fe02ff1f2019e155c54e3
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/tools/repotest/packages_new/C/data/C.txt | 2 | ||||
-rw-r--r-- | tests/auto/tools/repotest/packages_new/C/meta/package.xml | 8 | ||||
-rw-r--r-- | tests/auto/tools/repotest/settings.qrc | 2 | ||||
-rw-r--r-- | tests/auto/tools/repotest/tst_repotest.cpp | 72 |
4 files changed, 62 insertions, 22 deletions
diff --git a/tests/auto/tools/repotest/packages_new/C/data/C.txt b/tests/auto/tools/repotest/packages_new/C/data/C.txt new file mode 100644 index 000000000..b45c73606 --- /dev/null +++ b/tests/auto/tools/repotest/packages_new/C/data/C.txt @@ -0,0 +1,2 @@ +Example content for package C. + diff --git a/tests/auto/tools/repotest/packages_new/C/meta/package.xml b/tests/auto/tools/repotest/packages_new/C/meta/package.xml new file mode 100644 index 000000000..676f088be --- /dev/null +++ b/tests/auto/tools/repotest/packages_new/C/meta/package.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Package> + <DisplayName>C</DisplayName> + <Description>Example component C</Description> + <Version>1.0.0</Version> + <ReleaseDate>2020-01-01</ReleaseDate> + <Default>true</Default> +</Package> diff --git a/tests/auto/tools/repotest/settings.qrc b/tests/auto/tools/repotest/settings.qrc index a0b5743fe..5c0d0055a 100644 --- a/tests/auto/tools/repotest/settings.qrc +++ b/tests/auto/tools/repotest/settings.qrc @@ -10,6 +10,8 @@ <file>packages_update/A/meta/script2.0.0.qs</file> <file>packages_update/B/data/B_update.txt</file> <file>packages_update/B/meta/package.xml</file> + <file>packages_new/C/data/C.txt</file> + <file>packages_new/C/meta/package.xml</file> <file>repository_component/A/2.0.0content.7z</file> <file>repository_component/A/2.0.0content.7z.sha1</file> <file>repository_component/A/2.0.0meta.7z</file> diff --git a/tests/auto/tools/repotest/tst_repotest.cpp b/tests/auto/tools/repotest/tst_repotest.cpp index 02594f400..637ca2a97 100644 --- a/tests/auto/tools/repotest/tst_repotest.cpp +++ b/tests/auto/tools/repotest/tst_repotest.cpp @@ -55,9 +55,6 @@ private: VerifyInstaller::verifyFileExistence(m_repoInfo.repositoryDir + "/B", QStringList() << "1.0.0content.7z" << "1.0.0content.7z.sha1"); } - } else { - QDir dir(m_repoInfo.repositoryDir + "/B"); - QVERIFY(!dir.exists()); } QTemporaryDir tmp; tmp.setAutoRemove(false); @@ -142,14 +139,16 @@ private: void ignoreMessagesForComponentHash(const QStringList &components, bool update) { + QString packageDir = m_repoInfo.packages.first(); + packageDir.remove("//"); // e.g. :///packages -> :/packages foreach (const QString component, components) { QString message = "Copying component data for \"%1\""; QTest::ignoreMessage(QtDebugMsg, qPrintable(message.arg(component))); if (update) - message = "Compressing files found in data directory: (\":/packages_update/%1/data/%1_update.txt\")"; + message = "Compressing files found in data directory: (\"%1/%2/data/%2_update.txt\")"; else - message = "Compressing files found in data directory: (\":/packages/%1/data/%1.txt\")"; - QTest::ignoreMessage(QtDebugMsg, qPrintable(message.arg(component))); + message = "Compressing files found in data directory: (\"%1/%2/data/%2.txt\")"; + QTest::ignoreMessage(QtDebugMsg, qPrintable(message.arg(packageDir, component))); QTest::ignoreMessage(QtDebugMsg, QRegularExpression("Hash is stored in *")); QTest::ignoreMessage(QtDebugMsg, QRegularExpression("Creating hash of archive *")); QTest::ignoreMessage(QtDebugMsg, QRegularExpression("Generated sha1 hash: *")); @@ -181,19 +180,15 @@ private: void ignoreMessagesForCopyMetadata(const QString &component, bool hasMeta, bool update) { - QString message; - if (update) - message = "Copy meta data for package \"%1\" using \":///packages_update/%1/meta/package.xml\""; - else - message = "Copy meta data for package \"%1\" using \":///packages/%1/meta/package.xml\""; - QTest::ignoreMessage(QtDebugMsg, qPrintable(message.arg(component))); + QString message = "Copy meta data for package \"%2\" using \"%1/%2/meta/package.xml\""; + QTest::ignoreMessage(QtDebugMsg, qPrintable(message.arg(m_repoInfo.packages.first(), component))); QTest::ignoreMessage(QtDebugMsg, QRegularExpression("calculate size of directory *")); if (hasMeta) { if (update) - message = "Copying associated \"script\" file \":///packages_update/%1/meta/script2.0.0.qs\""; + message = "Copying associated \"script\" file \"%1/%2/meta/script2.0.0.qs\""; else - message = "Copying associated \"script\" file \":///packages/%1/meta/script1.0.0.qs\""; - QTest::ignoreMessage(QtDebugMsg, qPrintable(message.arg(component))); + message = "Copying associated \"script\" file \"%1/%2/meta/script1.0.0.qs\""; + QTest::ignoreMessage(QtDebugMsg, qPrintable(message.arg(m_repoInfo.packages.first(), component))); QTest::ignoreMessage(QtDebugMsg, "done."); } } @@ -218,16 +213,26 @@ private: QTest::ignoreMessage(QtDebugMsg, QRegularExpression("Updating the metadata node with name *")); } - void ignoreMessageForCollectingPackages(const QString &versionA, const QString &versionB) + void ignoreMessageForCollectingPackages(const QString &versionA = QString(), + const QString &versionB = QString(), const QString &versionC = QString()) { QTest::ignoreMessage(QtDebugMsg, "Collecting information about available repository packages..."); QTest::ignoreMessage(QtDebugMsg, "Collecting information about available packages..."); - QTest::ignoreMessage(QtDebugMsg, "Found subdirectory \"A\""); - QString message = "- it provides the package \"A\" - \"%1\""; - QTest::ignoreMessage(QtDebugMsg, qPrintable(message.arg(versionA))); - QTest::ignoreMessage(QtDebugMsg, "Found subdirectory \"B\""); - message = "- it provides the package \"B\" - \"%1\""; - QTest::ignoreMessage(QtDebugMsg, qPrintable(message.arg(versionB))); + if (!versionA.isEmpty()) { + QTest::ignoreMessage(QtDebugMsg, "Found subdirectory \"A\""); + const QString message = "- it provides the package \"A\" - \"%1\""; + QTest::ignoreMessage(QtDebugMsg, qPrintable(message.arg(versionA))); + } + if (!versionB.isEmpty()) { + QTest::ignoreMessage(QtDebugMsg, "Found subdirectory \"B\""); + const QString message = "- it provides the package \"B\" - \"%1\""; + QTest::ignoreMessage(QtDebugMsg, qPrintable(message.arg(versionB))); + } + if (!versionC.isEmpty()) { + QTest::ignoreMessage(QtDebugMsg, "Found subdirectory \"C\""); + const QString message = "- it provides the package \"C\" - \"%1\""; + QTest::ignoreMessage(QtDebugMsg, qPrintable(message.arg(versionC))); + } } void ignoreMessageForCollectingPackagesFromRepository(const QString &versionA, const QString &versionB) @@ -372,6 +377,29 @@ private slots: verifyComponentMetaUpdatesXml(); } + void testUpdateComponentsFromPartialPackageDir() + { + ignoreMessagesForComponentSha(QStringList() << "A" << "B", false); + ignoreMessagesForUniteMeta(false); + generateRepo(true, true, false); + verifyComponentRepository("1.0.0", "1.0.0", true); + + clearData(); + m_repoInfo.packages << ":///packages_new"; + { // ignore messages + ignoreMessagesForUniteMeta(false); + ignoreMessageForCollectingPackages(QString(), QString(), "1.0.0"); + ignoreMessagesForComponentSha(QStringList() << "C", true); + ignoreMessagesForCopyMetadata("C", false, false); + ignoreMessagesForComponentHash(QStringList() << "C", false); + } + generateRepo(true, true, false); + verifyComponentRepository("1.0.0", "1.0.0", true); + VerifyInstaller::verifyFileExistence(m_repoInfo.repositoryDir + "/C", + QStringList() << "1.0.0content.7z" << "1.0.0content.7z.sha1" << "1.0.0meta.7z"); + verifyUniteMetadata("1.0.0"); + } + void testUpdateComponentsWithUniteMetadata() { ignoreMessagesForComponentSha(QStringList() << "A" << "B", false); |