diff options
author | Arttu Tarkiainen <arttu.tarkiainen@qt.io> | 2021-11-30 16:31:36 +0200 |
---|---|---|
committer | Arttu Tarkiainen <arttu.tarkiainen@qt.io> | 2021-12-03 14:36:27 +0200 |
commit | 5f0df8562132dfc77dbdb352712e6d42efc35122 (patch) | |
tree | e6ef1369c7406933a5a71029a1a399020717eec7 /tests | |
parent | eca91dcdca76fbde8050629631f06518109f9d02 (diff) |
Libarchive: fix handling of glob pattern arguments when creating archive
Arguments with wildcards were not working if archivegen was called from
somewhere else than shell, like from within a Python script.
Task-number: QTIFW-2423
Change-Id: Icf6d6c3c45ad9050a03c1a3dd7c4d9f10d1f3be6
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/installer/libarchivearchive/tst_libarchivearchive.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/auto/installer/libarchivearchive/tst_libarchivearchive.cpp b/tests/auto/installer/libarchivearchive/tst_libarchivearchive.cpp index a1f5a1994..280bb60d0 100644 --- a/tests/auto/installer/libarchivearchive/tst_libarchivearchive.cpp +++ b/tests/auto/installer/libarchivearchive/tst_libarchivearchive.cpp @@ -106,6 +106,38 @@ private slots: QVERIFY(QFile(filename).remove()); } + void testCreateArchiveWithGlobPattern_data() + { + archiveSuffixesTestData(); + } + + void testCreateArchiveWithGlobPattern() + { + QFETCH(QString, suffix); + + const QString baseDir(QDir::tempPath() + "/tst_libarchivearchive"); + QVERIFY(QDir().mkpath(baseDir)); + + const QString path1 = tempSourceFile( + "Source File 1.", + baseDir + "/file.XXXXXX" + ); + const QString path2 = tempSourceFile( + "Source File 2.", + baseDir + "/file.XXXXXX" + ); + + const QString filename = generateTemporaryFileName() + suffix; + LibArchiveArchive target(filename); + QVERIFY(target.open(QIODevice::ReadWrite)); + QVERIFY(target.create(QStringList() << baseDir + "/*")); + QCOMPARE(target.list().count(), 2); + target.close(); + + QVERIFY(QFile(filename).remove()); + QVERIFY(QDir(baseDir).removeRecursively()); + } + void testCreateArchiveWithSpaces_data() { archiveSuffixesTestData(); |