summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/io
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib/io')
-rw-r--r--tests/auto/corelib/io/qdatastream/tst_qdatastream.cpp31
-rw-r--r--tests/auto/corelib/io/qdebug/tst_qdebug.cpp6
-rw-r--r--tests/auto/corelib/io/qdir/qdir.pro2
-rw-r--r--tests/auto/corelib/io/qdir/tst_qdir.cpp63
-rw-r--r--tests/auto/corelib/io/qdiriterator/qdiriterator.pro2
-rw-r--r--tests/auto/corelib/io/qfileinfo/qfileinfo.pro2
-rw-r--r--tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp8
7 files changed, 61 insertions, 53 deletions
diff --git a/tests/auto/corelib/io/qdatastream/tst_qdatastream.cpp b/tests/auto/corelib/io/qdatastream/tst_qdatastream.cpp
index f5a546ebf1..ea4c557574 100644
--- a/tests/auto/corelib/io/qdatastream/tst_qdatastream.cpp
+++ b/tests/auto/corelib/io/qdatastream/tst_qdatastream.cpp
@@ -2748,10 +2748,11 @@ void tst_QDataStream::status_QBitArray()
QCOMPARE(str, expectedString);
}
-#define MAP_TEST(byteArray, expectedStatus, expectedHash) \
+#define MAP_TEST(byteArray, initialStatus, expectedStatus, expectedHash) \
{ \
QByteArray ba = byteArray; \
QDataStream stream(&ba, QIODevice::ReadOnly); \
+ stream.setStatus(initialStatus); \
stream >> hash; \
QCOMPARE((int)stream.status(), (int)expectedStatus); \
QCOMPARE(hash.size(), expectedHash.size()); \
@@ -2764,6 +2765,7 @@ void tst_QDataStream::status_QBitArray()
for (; it != expectedHash.constEnd(); ++it) \
expectedMap.insert(it.key(), it.value()); \
QDataStream stream(&ba, QIODevice::ReadOnly); \
+ stream.setStatus(initialStatus); \
stream >> map; \
QCOMPARE((int)stream.status(), (int)expectedStatus); \
QCOMPARE(map.size(), expectedMap.size()); \
@@ -2785,25 +2787,30 @@ void tst_QDataStream::status_QHash_QMap()
hash2.insert("L", "MN");
// ok
- MAP_TEST(QByteArray("\x00\x00\x00\x00", 4), QDataStream::Ok, StringHash());
- MAP_TEST(QByteArray("\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00", 12), QDataStream::Ok, hash1);
+ MAP_TEST(QByteArray("\x00\x00\x00\x00", 4), QDataStream::Ok, QDataStream::Ok, StringHash());
+ MAP_TEST(QByteArray("\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00", 12), QDataStream::Ok, QDataStream::Ok, hash1);
MAP_TEST(QByteArray("\x00\x00\x00\x02\x00\x00\x00\x02\x00J\x00\x00\x00\x02\x00K"
- "\x00\x00\x00\x02\x00L\x00\x00\x00\x04\x00M\x00N", 30), QDataStream::Ok, hash2);
+ "\x00\x00\x00\x02\x00L\x00\x00\x00\x04\x00M\x00N", 30), QDataStream::Ok, QDataStream::Ok, hash2);
// past end
- MAP_TEST(QByteArray(), QDataStream::ReadPastEnd, StringHash());
- MAP_TEST(QByteArray("\x00", 1), QDataStream::ReadPastEnd, StringHash());
- MAP_TEST(QByteArray("\x00\x00", 2), QDataStream::ReadPastEnd, StringHash());
- MAP_TEST(QByteArray("\x00\x00\x00", 3), QDataStream::ReadPastEnd, StringHash());
- MAP_TEST(QByteArray("\x00\x00\x00\x01", 4), QDataStream::ReadPastEnd, StringHash());
+ MAP_TEST(QByteArray(), QDataStream::Ok, QDataStream::ReadPastEnd, StringHash());
+ MAP_TEST(QByteArray("\x00", 1), QDataStream::Ok, QDataStream::ReadPastEnd, StringHash());
+ MAP_TEST(QByteArray("\x00\x00", 2), QDataStream::Ok, QDataStream::ReadPastEnd, StringHash());
+ MAP_TEST(QByteArray("\x00\x00\x00", 3), QDataStream::Ok, QDataStream::ReadPastEnd, StringHash());
+ MAP_TEST(QByteArray("\x00\x00\x00\x01", 4), QDataStream::Ok, QDataStream::ReadPastEnd, StringHash());
for (int i = 4; i < 12; ++i) {
- MAP_TEST(QByteArray("\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00", i), QDataStream::ReadPastEnd, StringHash());
+ MAP_TEST(QByteArray("\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00", i), QDataStream::Ok, QDataStream::ReadPastEnd, StringHash());
}
// corrupt data
- MAP_TEST(QByteArray("\x00\x00\x00\x01\x00\x00\x00\x01", 8), QDataStream::ReadCorruptData, StringHash());
+ MAP_TEST(QByteArray("\x00\x00\x00\x01\x00\x00\x00\x01", 8), QDataStream::Ok, QDataStream::ReadCorruptData, StringHash());
MAP_TEST(QByteArray("\x00\x00\x00\x02\x00\x00\x00\x01\x00J\x00\x00\x00\x01\x00K"
- "\x00\x00\x00\x01\x00L\x00\x00\x00\x02\x00M\x00N", 30), QDataStream::ReadCorruptData, StringHash());
+ "\x00\x00\x00\x01\x00L\x00\x00\x00\x02\x00M\x00N", 30), QDataStream::Ok, QDataStream::ReadCorruptData, StringHash());
+
+ // test the previously latched error status is not affected by reading
+ MAP_TEST(QByteArray("\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00", 12), QDataStream::ReadPastEnd, QDataStream::ReadPastEnd, hash1);
+ MAP_TEST(QByteArray("\x00\x00\x00\x01", 4), QDataStream::ReadCorruptData, QDataStream::ReadCorruptData, StringHash());
+ MAP_TEST(QByteArray("\x00\x00\x00\x01\x00\x00\x00\x01", 8), QDataStream::ReadPastEnd, QDataStream::ReadPastEnd, StringHash());
}
#define LIST_TEST(byteArray, expectedStatus, expectedList) \
diff --git a/tests/auto/corelib/io/qdebug/tst_qdebug.cpp b/tests/auto/corelib/io/qdebug/tst_qdebug.cpp
index abec4e7aba..7147405f3b 100644
--- a/tests/auto/corelib/io/qdebug/tst_qdebug.cpp
+++ b/tests/auto/corelib/io/qdebug/tst_qdebug.cpp
@@ -359,14 +359,14 @@ void tst_QDebug::qDebugQChar() const
MessageHandlerSetter mhs(myMessageHandler);
{
QDebug d = qDebug();
- d << QChar('f');
- d.nospace().noquote() << QChar('o') << QChar('o');
+ d << QChar('f') << QChar(QLatin1Char('\xE4')); // f, ä
+ d.nospace().noquote() << QChar('o') << QChar('o') << QChar(QLatin1Char('\xC4')); // o, o, Ä
}
#ifndef QT_NO_MESSAGELOGCONTEXT
file = __FILE__; line = __LINE__ - 5; function = Q_FUNC_INFO;
#endif
QCOMPARE(s_msgType, QtDebugMsg);
- QCOMPARE(s_msg, QString::fromLatin1("'f' oo"));
+ QCOMPARE(s_msg, QString::fromLatin1("'f' '\\u00e4' oo\\u00c4"));
QCOMPARE(QString::fromLatin1(s_file), file);
QCOMPARE(s_line, line);
QCOMPARE(QString::fromLatin1(s_function), function);
diff --git a/tests/auto/corelib/io/qdir/qdir.pro b/tests/auto/corelib/io/qdir/qdir.pro
index e5739f7e0a..4870922312 100644
--- a/tests/auto/corelib/io/qdir/qdir.pro
+++ b/tests/auto/corelib/io/qdir/qdir.pro
@@ -11,5 +11,3 @@ contains(CONFIG, builtin_testdata): DEFINES += BUILTIN_TESTDATA
android {
RESOURCES += android_testdata.qrc
}
-
-win32: CONFIG += insignificant_test # Crashes on Windows in release builds
diff --git a/tests/auto/corelib/io/qdir/tst_qdir.cpp b/tests/auto/corelib/io/qdir/tst_qdir.cpp
index 703e9c5b07..48b8db949f 100644
--- a/tests/auto/corelib/io/qdir/tst_qdir.cpp
+++ b/tests/auto/corelib/io/qdir/tst_qdir.cpp
@@ -208,6 +208,7 @@ private slots:
void cdNonreadable();
+ void cdBelowRoot_data();
void cdBelowRoot();
private:
@@ -2259,31 +2260,37 @@ void tst_QDir::cdNonreadable()
#endif
}
+void tst_QDir::cdBelowRoot_data()
+{
+ QTest::addColumn<QString>("rootPath");
+ QTest::addColumn<QString>("cdInto");
+ QTest::addColumn<QString>("targetPath");
+
+#if defined(Q_OS_ANDROID)
+ QTest::newRow("android") << "/" << "system" << "/system";
+#elif defined(Q_OS_UNIX)
+ QTest::newRow("unix") << "/" << "tmp" << "/tmp";
+#elif defined(Q_OS_WINRT)
+ QTest::newRow("winrt") << QDir::rootPath() << QDir::rootPath() << QDir::rootPath();
+#else // Windows+CE
+ const QString systemDrive = QString::fromLocal8Bit(qgetenv("SystemDrive")) + QLatin1Char('/');
+ const QString systemRoot = QString::fromLocal8Bit(qgetenv("SystemRoot"));
+ QTest::newRow("windows-drive")
+ << systemDrive << systemRoot.mid(3) << QDir::cleanPath(systemRoot);
+#endif // Windows
+}
+
void tst_QDir::cdBelowRoot()
{
-#if defined (Q_OS_ANDROID)
-#define ROOT QString("/")
-#define DIR QString("/system")
-#define CD_INTO "system"
-#elif defined (Q_OS_UNIX)
-#define ROOT QString("/")
-#define DIR QString("/tmp")
-#define CD_INTO "tmp"
-#elif defined (Q_OS_WINRT)
-#define ROOT QDir::rootPath()
-#define DIR QDir::rootPath()
-#define CD_INTO QDir::rootPath()
-#else
-#define ROOT QString::fromLocal8Bit(qgetenv("SystemDrive"))+"/"
-#define DIR QString::fromLocal8Bit(qgetenv("SystemRoot")).replace('\\', '/')
-#define CD_INTO QString::fromLocal8Bit(qgetenv("SystemRoot")).mid(3)
-#endif
+ QFETCH(QString, rootPath);
+ QFETCH(QString, cdInto);
+ QFETCH(QString, targetPath);
- QDir root(ROOT);
- QVERIFY(!root.cd(".."));
- QCOMPARE(root.path(), ROOT);
- QVERIFY(root.cd(CD_INTO));
- QCOMPARE(root.path(), DIR);
+ QDir root(rootPath);
+ QVERIFY2(!root.cd(".."), qPrintable(root.absolutePath()));
+ QCOMPARE(root.path(), rootPath);
+ QVERIFY(root.cd(cdInto));
+ QCOMPARE(root.path(), targetPath);
#ifdef Q_OS_UNIX
if (::getuid() == 0)
QSKIP("Running this test as root doesn't make sense");
@@ -2291,13 +2298,13 @@ void tst_QDir::cdBelowRoot()
#ifdef Q_OS_WINRT
QSKIP("WinRT has no concept of system root");
#endif
- QDir dir(DIR);
- QVERIFY(!dir.cd("../.."));
- QCOMPARE(dir.path(), DIR);
- QVERIFY(!dir.cd("../abs/../.."));
- QCOMPARE(dir.path(), DIR);
+ QDir dir(targetPath);
+ QVERIFY2(!dir.cd("../.."), qPrintable(dir.absolutePath()));
+ QCOMPARE(dir.path(), targetPath);
+ QVERIFY2(!dir.cd("../abs/../.."), qPrintable(dir.absolutePath()));
+ QCOMPARE(dir.path(), targetPath);
QVERIFY(dir.cd(".."));
- QCOMPARE(dir.path(), ROOT);
+ QCOMPARE(dir.path(), rootPath);
}
QTEST_MAIN(tst_QDir)
diff --git a/tests/auto/corelib/io/qdiriterator/qdiriterator.pro b/tests/auto/corelib/io/qdiriterator/qdiriterator.pro
index 2d8dfba996..5404e9058f 100644
--- a/tests/auto/corelib/io/qdiriterator/qdiriterator.pro
+++ b/tests/auto/corelib/io/qdiriterator/qdiriterator.pro
@@ -8,5 +8,3 @@ TESTDATA += entrylist
contains(CONFIG, builtin_testdata): DEFINES += BUILTIN_TESTDATA
wince*mips*|wincewm50smart-msvc200*: DEFINES += WINCE_BROKEN_ITERATE=1
-
-win32: CONFIG += insignificant_test # Crashes on Windows in release builds
diff --git a/tests/auto/corelib/io/qfileinfo/qfileinfo.pro b/tests/auto/corelib/io/qfileinfo/qfileinfo.pro
index 8aa81896cc..48673b20a9 100644
--- a/tests/auto/corelib/io/qfileinfo/qfileinfo.pro
+++ b/tests/auto/corelib/io/qfileinfo/qfileinfo.pro
@@ -6,5 +6,3 @@ RESOURCES += qfileinfo.qrc \
testdata.qrc
win32:!wince:!winrt:LIBS += -ladvapi32 -lnetapi32
-
-win32: CONFIG += insignificant_test # Crashes on Windows in release builds
diff --git a/tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp b/tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp
index 9645ca9ba2..4cfbdf8c16 100644
--- a/tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp
+++ b/tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp
@@ -29,6 +29,7 @@
#include <QtTest/QtTest>
#include <qcoreapplication.h>
#include <qstring.h>
+#include <qtemporarydir.h>
#include <qtemporaryfile.h>
#include <qfile.h>
#include <qdir.h>
@@ -81,13 +82,15 @@ private slots:
void QTBUG_4796();
void guaranteeUnique();
private:
+ QTemporaryDir m_temporaryDir;
QString m_previousCurrent;
};
void tst_QTemporaryFile::initTestCase()
{
+ QVERIFY2(m_temporaryDir.isValid(), qPrintable(m_temporaryDir.errorString()));
m_previousCurrent = QDir::currentPath();
- QDir::setCurrent(QDir::tempPath());
+ QVERIFY(QDir::setCurrent(m_temporaryDir.path()));
// For QTBUG_4796
QVERIFY(QDir("test-XXXXXX").exists() || QDir().mkdir("test-XXXXXX"));
@@ -114,9 +117,6 @@ void tst_QTemporaryFile::initTestCase()
void tst_QTemporaryFile::cleanupTestCase()
{
- // From QTBUG_4796
- QVERIFY(QDir().rmdir("test-XXXXXX"));
-
QDir::setCurrent(m_previousCurrent);
}