QDir{Iterator,Listing}: fix unittest

QEXTRACTTESTDATA returns a QSharedPointer<QTemporaryDir>, so the member
variable has to be of that type so that all code paths work.

Amends 986b5b4f47 (QDirIterator) and
c39a0d1e89 (QDirListing).

Change-Id: Ie4b76687125f0506a2c899acca222123f0b1c44a
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
bb10
Ahmad Samir 2024-03-10 12:06:00 +02:00
parent 6946a46827
commit a2136a073e
2 changed files with 12 additions and 12 deletions

View File

@ -87,13 +87,14 @@ private slots:
#endif
private:
QTemporaryDir m_dataDir;
QSharedPointer<QTemporaryDir> m_dataDir;
};
void tst_QDirIterator::initTestCase()
{
QString testdata_dir;
#ifdef Q_OS_ANDROID
QString testdata_dir = QStandardPaths::writableLocation(QStandardPaths::CacheLocation);
testdata_dir = QStandardPaths::writableLocation(QStandardPaths::CacheLocation);
QString resourceSourcePath = QStringLiteral(":/testdata");
QDirIterator it(resourceSourcePath, QDirIterator::Subdirectories);
while (it.hasNext()) {
@ -116,11 +117,10 @@ void tst_QDirIterator::initTestCase()
#elif defined(BUILTIN_TESTDATA)
m_dataDir = QEXTRACTTESTDATA("/testdata");
QVERIFY2(!m_dataDir.isNull(), qPrintable("Could not extract test data"));
QString testdata_dir = m_dataDir->path();
testdata_dir = m_dataDir->path();
#else
// chdir into testdata directory, then find testdata by relative paths.
QString testdata_dir = m_dataDir.path();
m_dataDir.reset(new QTemporaryDir);
testdata_dir = m_dataDir->path();
#endif
QVERIFY(!testdata_dir.isEmpty());

View File

@ -89,13 +89,14 @@ private slots:
#endif
private:
QTemporaryDir m_dataDir;
QSharedPointer<QTemporaryDir> m_dataDir;
};
void tst_QDirListing::initTestCase()
{
QString testdata_dir;
#ifdef Q_OS_ANDROID
QString testdata_dir = QStandardPaths::writableLocation(QStandardPaths::CacheLocation);
testdata_dir = QStandardPaths::writableLocation(QStandardPaths::CacheLocation);
QString resourceSourcePath = QStringLiteral(":/testdata");
for (const auto &dirEntry : QDirListing(resourceSourcePath, ItFlag::Recursive)) {
if (!dirEntry.isDir()) {
@ -116,11 +117,10 @@ void tst_QDirListing::initTestCase()
#elif defined(BUILTIN_TESTDATA)
m_dataDir = QEXTRACTTESTDATA("/testdata");
QVERIFY2(!m_dataDir.isNull(), qPrintable("Could not extract test data"));
QString testdata_dir = m_dataDir->path();
testdata_dir = m_dataDir->path();
#else
// chdir into testdata directory, then find testdata by relative paths.
QString testdata_dir = m_dataDir.path();
m_dataDir.reset(new QTemporaryDir);
testdata_dir = m_dataDir->path();
#endif
QVERIFY(!testdata_dir.isEmpty());