summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorArttu Tarkiainen <arttu.tarkiainen@qt.io>2022-01-11 10:59:00 +0200
committerArttu Tarkiainen <arttu.tarkiainen@qt.io>2022-01-11 13:13:38 +0200
commit5ec5af811a9a4146f32378bbd80acfbb5a46f621 (patch)
treec4cb652d31af72b02f6287ad0b6101b695dc8aad /tests
parent48a2499662fd1dc45f1dc87d5ff9e8956c7961b7 (diff)
ArchiveFactory: register handlers for .qbsp file extension
QBSP archives were missing a handler which caused UnzipArchiveTask to fail when fetching metadata. Also fix the resulted segfault in UnzipArchiveTask::doTask() when ArchiveFactory::create() returns nullptr for unknown file extension - it now handles the exception properly. Task-number: QTIFW-2475 Change-Id: I72624763a06d6e7495daebd69970a5f22a4fd6d3 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/installer/archivefactory/tst_archivefactory.cpp4
-rw-r--r--tests/auto/installer/libarchivearchive/data.qrc1
-rw-r--r--tests/auto/installer/libarchivearchive/data/valid.qbspbin0 -> 950 bytes
-rw-r--r--tests/auto/installer/libarchivearchive/tst_libarchivearchive.cpp2
4 files changed, 5 insertions, 2 deletions
diff --git a/tests/auto/installer/archivefactory/tst_archivefactory.cpp b/tests/auto/installer/archivefactory/tst_archivefactory.cpp
index 91301898d..a00f8c815 100644
--- a/tests/auto/installer/archivefactory/tst_archivefactory.cpp
+++ b/tests/auto/installer/archivefactory/tst_archivefactory.cpp
@@ -90,10 +90,10 @@ private slots:
#ifdef IFW_LIBARCHIVE
QTest::newRow("LibArchive")
<< "LibArchive" << "myfile.zip"
- << (QStringList() << "tar" << "tar.gz" << "tar.bz2" << "tar.xz" << "zip" << "7z");
+ << (QStringList() << "tar" << "tar.gz" << "tar.bz2" << "tar.xz" << "zip" << "7z" << "qbsp");
#else
QTest::newRow("Lib7z")
- << "Lib7z" << "myfile.7z" << (QStringList() << "7z");
+ << "Lib7z" << "myfile.7z" << (QStringList() << "7z" << "qbsp");
#endif
}
diff --git a/tests/auto/installer/libarchivearchive/data.qrc b/tests/auto/installer/libarchivearchive/data.qrc
index dd9eb9090..b3f2a1933 100644
--- a/tests/auto/installer/libarchivearchive/data.qrc
+++ b/tests/auto/installer/libarchivearchive/data.qrc
@@ -5,5 +5,6 @@
<file>data/valid.tar.bz2</file>
<file>data/valid.tar.xz</file>
<file>data/valid.7z</file>
+ <file>data/valid.qbsp</file>
</qresource>
</RCC>
diff --git a/tests/auto/installer/libarchivearchive/data/valid.qbsp b/tests/auto/installer/libarchivearchive/data/valid.qbsp
new file mode 100644
index 000000000..e583bdf99
--- /dev/null
+++ b/tests/auto/installer/libarchivearchive/data/valid.qbsp
Binary files differ
diff --git a/tests/auto/installer/libarchivearchive/tst_libarchivearchive.cpp b/tests/auto/installer/libarchivearchive/tst_libarchivearchive.cpp
index 1af5023e1..57f16b762 100644
--- a/tests/auto/installer/libarchivearchive/tst_libarchivearchive.cpp
+++ b/tests/auto/installer/libarchivearchive/tst_libarchivearchive.cpp
@@ -246,6 +246,7 @@ private:
QTest::newRow("bzip2 compressed tar archive") << ":///data/valid.tar.bz2";
QTest::newRow("xz compressed tar archive") << ":///data/valid.tar.xz";
QTest::newRow("7zip archive") << ":///data/valid.7z";
+ QTest::newRow("QBSP archive (7z)") << ":///data/valid.qbsp";
}
void archiveSuffixesTestData()
@@ -257,6 +258,7 @@ private:
QTest::newRow("bzip2 compressed tar archive") << ".tar.bz2";
QTest::newRow("xz compressed tar archive") << ".tar.xz";
QTest::newRow("7z archive") << ".7z";
+ QTest::newRow("QBSP archive") << ".qbsp";
}
QString tempSourceFile(const QByteArray &data, const QString &templateName = QString())