diff options
author | Arttu Tarkiainen <arttu.tarkiainen@qt.io> | 2022-01-11 10:59:00 +0200 |
---|---|---|
committer | Arttu Tarkiainen <arttu.tarkiainen@qt.io> | 2022-01-11 13:13:38 +0200 |
commit | 5ec5af811a9a4146f32378bbd80acfbb5a46f621 (patch) | |
tree | c4cb652d31af72b02f6287ad0b6101b695dc8aad /tests | |
parent | 48a2499662fd1dc45f1dc87d5ff9e8956c7961b7 (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.cpp | 4 | ||||
-rw-r--r-- | tests/auto/installer/libarchivearchive/data.qrc | 1 | ||||
-rw-r--r-- | tests/auto/installer/libarchivearchive/data/valid.qbsp | bin | 0 -> 950 bytes | |||
-rw-r--r-- | tests/auto/installer/libarchivearchive/tst_libarchivearchive.cpp | 2 |
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 Binary files differnew file mode 100644 index 000000000..e583bdf99 --- /dev/null +++ b/tests/auto/installer/libarchivearchive/data/valid.qbsp 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()) |