summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/io
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-08-02 22:49:38 +0200
committerOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-08-02 22:52:32 +0200
commitee07b912a1768ea0b103544f9eeac41f3cf50cf6 (patch)
tree15bfa7e4a9c098511c1fc89e2b2c240520b85e2d /tests/auto/corelib/io
parent4bfff6a98b59b32605d881a463ad3edc221a7dc8 (diff)
parenta96656a8fb6a3c1fc7765659efff28f807fd0deb (diff)
Merge remote-tracking branch 'origin/5.9' into dev
Conflicts: src/plugins/platforms/xcb/qxcbconnection.h src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/plugins/sqldrivers/sqlite/qsql_sqlite.cpp src/plugins/styles/mac/qmacstyle_mac.mm src/widgets/widgets/qdockarealayout.cpp src/widgets/widgets/qmainwindow.cpp src/widgets/widgets/qmainwindowlayout.cpp src/widgets/widgets/qmainwindowlayout_p.h tests/auto/corelib/tools/qlocale/tst_qlocale.cpp tests/auto/other/macnativeevents/BLACKLIST tests/auto/widgets/widgets/qmenu/BLACKLIST Change-Id: Ic8e724b80a65e7b1af25511b0e674d209265e567
Diffstat (limited to 'tests/auto/corelib/io')
-rw-r--r--tests/auto/corelib/io/largefile/tst_largefile.cpp2
-rw-r--r--tests/auto/corelib/io/qabstractfileengine/tst_qabstractfileengine.cpp4
-rw-r--r--tests/auto/corelib/io/qdatastream/tst_qdatastream.cpp2
-rw-r--r--tests/auto/corelib/io/qdir/tst_qdir.cpp99
-rw-r--r--tests/auto/corelib/io/qfile/tst_qfile.cpp1
-rw-r--r--tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp2
6 files changed, 74 insertions, 36 deletions
diff --git a/tests/auto/corelib/io/largefile/tst_largefile.cpp b/tests/auto/corelib/io/largefile/tst_largefile.cpp
index 99e1d5a32f..5975303ca6 100644
--- a/tests/auto/corelib/io/largefile/tst_largefile.cpp
+++ b/tests/auto/corelib/io/largefile/tst_largefile.cpp
@@ -228,7 +228,7 @@ QByteArray const &tst_LargeFile::getDataBlock(int index, qint64 position)
void tst_LargeFile::initTestCase()
{
m_previousCurrent = QDir::currentPath();
- m_tempDir = QSharedPointer<QTemporaryDir>(new QTemporaryDir);
+ m_tempDir = QSharedPointer<QTemporaryDir>::create();
QVERIFY2(!m_tempDir.isNull(), qPrintable("Could not create temporary directory."));
QVERIFY2(QDir::setCurrent(m_tempDir->path()), qPrintable("Could not switch current directory"));
diff --git a/tests/auto/corelib/io/qabstractfileengine/tst_qabstractfileengine.cpp b/tests/auto/corelib/io/qabstractfileengine/tst_qabstractfileengine.cpp
index 4e5059c1a2..68fc628a41 100644
--- a/tests/auto/corelib/io/qabstractfileengine/tst_qabstractfileengine.cpp
+++ b/tests/auto/corelib/io/qabstractfileengine/tst_qabstractfileengine.cpp
@@ -473,7 +473,7 @@ protected:
if (create) {
QSharedPointer<File> &p = fileSystem[fileName_];
if (p.isNull())
- p = QSharedPointer<File>(new File);
+ p = QSharedPointer<File>::create();
return p;
}
@@ -571,7 +571,7 @@ class FileEngineHandler
void tst_QAbstractFileEngine::initTestCase()
{
m_previousCurrent = QDir::currentPath();
- m_currentDir = QSharedPointer<QTemporaryDir>(new QTemporaryDir());
+ m_currentDir = QSharedPointer<QTemporaryDir>::create();
QVERIFY2(!m_currentDir.isNull(), qPrintable("Could not create current directory."));
QDir::setCurrent(m_currentDir->path());
}
diff --git a/tests/auto/corelib/io/qdatastream/tst_qdatastream.cpp b/tests/auto/corelib/io/qdatastream/tst_qdatastream.cpp
index 0068411b94..14a2528cc6 100644
--- a/tests/auto/corelib/io/qdatastream/tst_qdatastream.cpp
+++ b/tests/auto/corelib/io/qdatastream/tst_qdatastream.cpp
@@ -300,7 +300,7 @@ void tst_QDataStream::getSetCheck()
void tst_QDataStream::initTestCase()
{
m_previousCurrent = QDir::currentPath();
- m_tempDir = QSharedPointer<QTemporaryDir>(new QTemporaryDir);
+ m_tempDir = QSharedPointer<QTemporaryDir>::create();
QVERIFY2(!m_tempDir.isNull(), qPrintable("Could not create temporary directory."));
QVERIFY2(QDir::setCurrent(m_tempDir->path()), qPrintable("Could not switch current directory"));
}
diff --git a/tests/auto/corelib/io/qdir/tst_qdir.cpp b/tests/auto/corelib/io/qdir/tst_qdir.cpp
index da948849f6..e6bad9a8ef 100644
--- a/tests/auto/corelib/io/qdir/tst_qdir.cpp
+++ b/tests/auto/corelib/io/qdir/tst_qdir.cpp
@@ -93,6 +93,9 @@ private slots:
void entryList_data();
void entryList();
+ void entryListWithTestFiles_data();
+ void entryListWithTestFiles();
+
void entryListTimedSort();
void entryListSimple_data();
@@ -717,6 +720,32 @@ void tst_QDir::entryList_data()
QTest::newRow("resources2") << QString(":/tst_qdir/resources/entryList") << QStringList("*.data")
<< (int)(QDir::Files) << (int)(QDir::NoSort)
<< QString("file1.data,file2.data,file3.data").split(',');
+}
+
+void tst_QDir::entryList()
+{
+ QFETCH(QString, dirName);
+ QFETCH(QStringList, nameFilters);
+ QFETCH(int, filterspec);
+ QFETCH(int, sortspec);
+ QFETCH(QStringList, expected);
+
+ QDir dir(dirName);
+ QVERIFY2(dir.exists(), msgDoesNotExist(dirName).constData());
+
+ QStringList actual = dir.entryList(nameFilters, (QDir::Filters)filterspec,
+ (QDir::SortFlags)sortspec);
+
+ QCOMPARE(actual, expected);
+}
+
+void tst_QDir::entryListWithTestFiles_data()
+{
+ QTest::addColumn<QString>("dirName"); // relative from current path or abs
+ QTest::addColumn<QStringList>("nameFilters");
+ QTest::addColumn<int>("filterspec");
+ QTest::addColumn<int>("sortspec");
+ QTest::addColumn<QStringList>("expected");
QTest::newRow("nofilter") << (m_dataPath + "/entrylist/") << QStringList("*")
<< int(QDir::NoFilter) << int(QDir::Name)
@@ -823,7 +852,7 @@ void tst_QDir::entryList_data()
<< QString("c,b,a,a.a,a.b,a.c,b.b,b.c,b.a,c.c,c.b,c.a,f.c,f.b,f.a,f,e.c,e.b,e.a,e,d.c,d.b,d.a,d").split(',');
}
-void tst_QDir::entryList()
+void tst_QDir::entryListWithTestFiles()
{
QFETCH(QString, dirName);
QFETCH(QStringList, nameFilters);
@@ -831,28 +860,49 @@ void tst_QDir::entryList()
QFETCH(int, sortspec);
QFETCH(QStringList, expected);
+ QStringList testFiles;
+
QString entrylistPath = (m_dataPath + "/entrylist/");
- QFile(entrylistPath + "writable").open(QIODevice::ReadWrite);
- QFile(entrylistPath + "file").setPermissions(QFile::ReadOwner | QFile::ReadUser);
- QFile::remove(entrylistPath + "linktofile");
- QFile::remove(entrylistPath + "linktodirectory");
- QFile::remove(entrylistPath + "linktofile.lnk");
- QFile::remove(entrylistPath + "linktodirectory.lnk");
- QFile::remove(entrylistPath + "brokenlink.lnk");
- QFile::remove(entrylistPath + "brokenlink");
+
+ {
+ const QString writableFileName = entrylistPath + "writable";
+ QFile writableFile(writableFileName);
+ testFiles.append(writableFileName);
+
+ QVERIFY2(writableFile.open(QIODevice::ReadWrite),
+ qPrintable(writableFile.errorString()));
+ }
+
+ {
+ QFile readOnlyFile(entrylistPath + "file");
+ QVERIFY2(readOnlyFile.setPermissions(QFile::ReadOwner | QFile::ReadUser),
+ qPrintable(readOnlyFile.errorString()));
+ }
+
#ifndef Q_NO_SYMLINKS
#if defined(Q_OS_WIN)
// ### Sadly, this is a platform difference right now.
// Note we are using capital L in entryList on one side here, to test case-insensitivity
- QFile::link((m_dataPath + "/entryList/") + "file", entrylistPath + "linktofile.lnk");
- QFile::link((m_dataPath + "/entryList/") + "directory", entrylistPath + "linktodirectory.lnk");
- QFile::link((m_dataPath + "/entryList/") + "nothing", entrylistPath + "brokenlink.lnk");
+ const QVector<QPair<QString, QString> > symLinks =
+ {
+ {m_dataPath + "/entryList/file", entrylistPath + "linktofile.lnk"},
+ {m_dataPath + "/entryList/directory", entrylistPath + "linktodirectory.lnk"},
+ {m_dataPath + "/entryList/nothing", entrylistPath + "brokenlink.lnk"}
+ };
#else
- QFile::link("file", entrylistPath + "linktofile.lnk");
- QFile::link("directory", entrylistPath + "linktodirectory.lnk");
- QFile::link("nothing", entrylistPath + "brokenlink.lnk");
+ const QVector<QPair<QString, QString> > symLinks =
+ {
+ {"file", entrylistPath + "linktofile.lnk"},
+ {"directory", entrylistPath + "linktodirectory.lnk"},
+ {"nothing", entrylistPath + "brokenlink.lnk"}
+ };
#endif
+ for (const auto &symLink : symLinks) {
+ QVERIFY2(QFile::link(symLink.first, symLink.second),
+ qPrintable(symLink.first + "->" + symLink.second));
+ testFiles.append(symLink.second);
+ }
#endif //Q_NO_SYMLINKS
QDir dir(dirName);
@@ -861,8 +911,6 @@ void tst_QDir::entryList()
QStringList actual = dir.entryList(nameFilters, (QDir::Filters)filterspec,
(QDir::SortFlags)sortspec);
- int max = qMin(actual.count(), expected.count());
-
bool doContentCheck = true;
#if defined(Q_OS_UNIX)
if (qstrcmp(QTest::currentDataTag(), "QDir::AllEntries | QDir::Writable") == 0) {
@@ -872,20 +920,11 @@ void tst_QDir::entryList()
}
#endif
- if (doContentCheck) {
- for (int i=0; i<max; ++i)
- QCOMPARE(actual[i], expected[i]);
-
- QCOMPARE(actual.count(), expected.count());
- }
+ for (int i = testFiles.size() - 1; i >= 0; --i)
+ QVERIFY2(QFile::remove(testFiles.at(i)), qPrintable(testFiles.at(i)));
- QFile::remove(entrylistPath + "writable");
- QFile::remove(entrylistPath + "linktofile");
- QFile::remove(entrylistPath + "linktodirectory");
- QFile::remove(entrylistPath + "linktofile.lnk");
- QFile::remove(entrylistPath + "linktodirectory.lnk");
- QFile::remove(entrylistPath + "brokenlink.lnk");
- QFile::remove(entrylistPath + "brokenlink");
+ if (doContentCheck)
+ QCOMPARE(actual, expected);
}
void tst_QDir::entryListTimedSort()
diff --git a/tests/auto/corelib/io/qfile/tst_qfile.cpp b/tests/auto/corelib/io/qfile/tst_qfile.cpp
index 17497e46b9..54d089f3bb 100644
--- a/tests/auto/corelib/io/qfile/tst_qfile.cpp
+++ b/tests/auto/corelib/io/qfile/tst_qfile.cpp
@@ -1155,7 +1155,6 @@ void tst_QFile::invalidFile_data()
#else
#if !defined(Q_OS_WINRT)
QTest::newRow( "colon2" ) << invalidDriveLetter() + QString::fromLatin1(":ail:invalid");
- QTest::newRow( "date" ) << QString( "testLog-03:20.803Z.txt" );
#endif
QTest::newRow( "colon3" ) << QString( ":failinvalid" );
QTest::newRow( "forwardslash" ) << QString( "fail/invalid" );
diff --git a/tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp b/tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp
index 5cb532f76b..a76fd4703e 100644
--- a/tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp
+++ b/tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp
@@ -71,7 +71,7 @@ void tst_QIODevice::initTestCase()
|| QFile::copy(QStringLiteral(":/tst_qiodevice.cpp"), QStringLiteral("./tst_qiodevice.cpp")));
#endif
m_previousCurrent = QDir::currentPath();
- m_tempDir = QSharedPointer<QTemporaryDir>(new QTemporaryDir);
+ m_tempDir = QSharedPointer<QTemporaryDir>::create();
QVERIFY2(!m_tempDir.isNull(), qPrintable("Could not create temporary directory."));
QVERIFY2(QDir::setCurrent(m_tempDir->path()), qPrintable("Could not switch current directory"));
}