diff options
Diffstat (limited to 'tests/auto/corelib/io/qfile')
-rw-r--r-- | tests/auto/corelib/io/qfile/.gitignore | 8 | ||||
-rw-r--r-- | tests/auto/corelib/io/qfile/qfile.pro | 3 | ||||
-rw-r--r-- | tests/auto/corelib/io/qfile/stdinprocess/main.cpp | 2 | ||||
-rw-r--r-- | tests/auto/corelib/io/qfile/stdinprocess/stdinprocess.pro | 6 | ||||
-rw-r--r-- | tests/auto/corelib/io/qfile/test.pro | 26 | ||||
-rw-r--r-- | tests/auto/corelib/io/qfile/test/test.pro | 25 | ||||
-rw-r--r-- | tests/auto/corelib/io/qfile/tst_qfile.cpp | 49 |
7 files changed, 62 insertions, 57 deletions
diff --git a/tests/auto/corelib/io/qfile/.gitignore b/tests/auto/corelib/io/qfile/.gitignore index c508239722..615264e4d4 100644 --- a/tests/auto/corelib/io/qfile/.gitignore +++ b/tests/auto/corelib/io/qfile/.gitignore @@ -1,6 +1,10 @@ tst_qfile -stdinprocess/stdinprocess -stdinprocess/stdinprocess.exe +stdinprocess_helper +stdinprocess_helper.exe +debug/stdinprocess_helper +debug/stdinprocess_helper.exe +release/stdinprocess_helper +release/stdinprocess_helper.exe readonlyfile newfile.txt appendfile.txt diff --git a/tests/auto/corelib/io/qfile/qfile.pro b/tests/auto/corelib/io/qfile/qfile.pro index 0735daedb3..91c5c15f66 100644 --- a/tests/auto/corelib/io/qfile/qfile.pro +++ b/tests/auto/corelib/io/qfile/qfile.pro @@ -1,2 +1,3 @@ TEMPLATE = subdirs -SUBDIRS = test stdinprocess +SUBDIRS = test.pro +!winrt: SUBDIRS += stdinprocess diff --git a/tests/auto/corelib/io/qfile/stdinprocess/main.cpp b/tests/auto/corelib/io/qfile/stdinprocess/main.cpp index 6ff42c2485..77a1932bd5 100644 --- a/tests/auto/corelib/io/qfile/stdinprocess/main.cpp +++ b/tests/auto/corelib/io/qfile/stdinprocess/main.cpp @@ -33,7 +33,7 @@ int main(int argc, char *argv[]) { if (argc < 2) { - printf("usage: stdinprocess <all|line <0|1>>\n"); + printf("usage: stdinprocess_helper <all|line <0|1>>\n"); printf("echos all its input to its output.\n"); return 1; } diff --git a/tests/auto/corelib/io/qfile/stdinprocess/stdinprocess.pro b/tests/auto/corelib/io/qfile/stdinprocess/stdinprocess.pro index 8e463e4cef..512da8939b 100644 --- a/tests/auto/corelib/io/qfile/stdinprocess/stdinprocess.pro +++ b/tests/auto/corelib/io/qfile/stdinprocess/stdinprocess.pro @@ -1,8 +1,4 @@ SOURCES += main.cpp QT = core -CONFIG -= app_bundle debug_and_release_target -CONFIG += console -# This app is testdata for tst_qfile -target.path = $$[QT_INSTALL_TESTS]/tst_qfile/$$TARGET -INSTALLS += target +load(qt_test_helper) diff --git a/tests/auto/corelib/io/qfile/test.pro b/tests/auto/corelib/io/qfile/test.pro new file mode 100644 index 0000000000..95389ab3e2 --- /dev/null +++ b/tests/auto/corelib/io/qfile/test.pro @@ -0,0 +1,26 @@ +CONFIG += testcase +QT = core-private testlib +qtHaveModule(network): QT += network +else: DEFINES += QT_NO_NETWORK + +contains(CONFIG, builtin_testdata) { + DEFINES += BUILTIN_TESTDATA +} + +TESTDATA += BLACKLIST + +TARGET = tst_qfile + +SOURCES = tst_qfile.cpp +INCLUDEPATH += ../../../../shared/ +HEADERS += ../../../../shared/emulationdetector.h + +RESOURCES += qfile.qrc rename-fallback.qrc copy-fallback.qrc + +TESTDATA += \ + dosfile.txt noendofline.txt testfile.txt \ + testlog.txt two.dots.file tst_qfile.cpp \ + Makefile forCopying.txt forRenaming.txt \ + resources/file1.ext1 + +win32:!winrt: LIBS += -lole32 -luuid diff --git a/tests/auto/corelib/io/qfile/test/test.pro b/tests/auto/corelib/io/qfile/test/test.pro deleted file mode 100644 index 1472ddbb83..0000000000 --- a/tests/auto/corelib/io/qfile/test/test.pro +++ /dev/null @@ -1,25 +0,0 @@ -CONFIG += testcase -CONFIG -= debug_and_release_target -QT = core-private core testlib -qtHaveModule(network): QT += network -else: DEFINES += QT_NO_NETWORK - -contains(CONFIG, builtin_testdata) { - DEFINES += BUILTIN_TESTDATA -} - -TESTDATA += ../BLACKLIST - -TARGET = ../tst_qfile -SOURCES = ../tst_qfile.cpp -INCLUDEPATH += ../../../../../shared/ -HEADERS += ../../../../../shared/emulationdetector.h - -RESOURCES += ../qfile.qrc ../rename-fallback.qrc ../copy-fallback.qrc - -TESTDATA += ../dosfile.txt ../noendofline.txt ../testfile.txt \ - ../testlog.txt ../two.dots.file ../tst_qfile.cpp \ - ../Makefile ../forCopying.txt ../forRenaming.txt \ - ../resources/file1.ext1 - -win32:!winrt: LIBS+=-lole32 -luuid diff --git a/tests/auto/corelib/io/qfile/tst_qfile.cpp b/tests/auto/corelib/io/qfile/tst_qfile.cpp index 6665200585..678a80c3f7 100644 --- a/tests/auto/corelib/io/qfile/tst_qfile.cpp +++ b/tests/auto/corelib/io/qfile/tst_qfile.cpp @@ -367,7 +367,7 @@ private: QTemporaryDir m_temporaryDir; const QString m_oldDir; - QString m_stdinProcessDir; + QString m_stdinProcess; QString m_testSourceFile; QString m_testLogFile; QString m_dosFile; @@ -379,12 +379,6 @@ private: QString m_noEndOfLineFile; }; -#if defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_EMBEDDED) - #define STDINPROCESS_NAME "libstdinprocess.so" -#else // !android || android_embedded - #define STDINPROCESS_NAME "stdinprocess" -#endif // android && !android_embededd - static const char noReadFile[] = "noreadfile"; static const char readOnlyFile[] = "readonlyfile"; @@ -455,11 +449,13 @@ void tst_QFile::initTestCase() QVERIFY2(m_temporaryDir.isValid(), qPrintable(m_temporaryDir.errorString())); #if QT_CONFIG(process) #if defined(Q_OS_ANDROID) - m_stdinProcessDir = QCoreApplication::applicationDirPath(); + m_stdinProcess = QCoreApplication::applicationDirPath() + QLatin1String("/libstdinprocess_helper.so"); +#elif defined(Q_OS_WIN) + m_stdinProcess = QFINDTESTDATA("stdinprocess_helper.exe"); #else - m_stdinProcessDir = QFINDTESTDATA("stdinprocess"); + m_stdinProcess = QFINDTESTDATA("stdinprocess_helper"); #endif - QVERIFY(!m_stdinProcessDir.isEmpty()); + QVERIFY(!m_stdinProcess.isEmpty()); #endif m_testLogFile = QFINDTESTDATA("testlog.txt"); QVERIFY(!m_testLogFile.isEmpty()); @@ -981,7 +977,7 @@ void tst_QFile::readAllStdin() QProcess process; StdinReaderProcessGuard processGuard(&process); - process.start(m_stdinProcessDir + QStringLiteral("/" STDINPROCESS_NAME), QStringList(QStringLiteral("all"))); + process.start(m_stdinProcess, QStringList(QStringLiteral("all"))); QVERIFY2(process.waitForStarted(), qPrintable(process.errorString())); for (int i = 0; i < 5; ++i) { QTest::qWait(1000); @@ -1014,7 +1010,7 @@ void tst_QFile::readLineStdin() for (int i = 0; i < 2; ++i) { QProcess process; StdinReaderProcessGuard processGuard(&process); - process.start(m_stdinProcessDir + QStringLiteral("/" STDINPROCESS_NAME), + process.start(m_stdinProcess, QStringList() << QStringLiteral("line") << QString::number(i), QIODevice::Text | QIODevice::ReadWrite); QVERIFY2(process.waitForStarted(), qPrintable(process.errorString())); @@ -1050,7 +1046,7 @@ void tst_QFile::readLineStdin_lineByLine() for (int i = 0; i < 2; ++i) { QProcess process; StdinReaderProcessGuard processGuard(&process); - process.start(m_stdinProcessDir + QStringLiteral("/" STDINPROCESS_NAME), + process.start(m_stdinProcess, QStringList() << QStringLiteral("line") << QString::number(i), QIODevice::Text | QIODevice::ReadWrite); QVERIFY2(process.waitForStarted(), qPrintable(process.errorString())); @@ -1297,6 +1293,12 @@ void tst_QFile::append() f.putChar('a'); f.close(); QCOMPARE(int(f.size()), 2); + + QVERIFY2(f.open(QIODevice::Append | QIODevice::Truncate), msgOpenFailed(f).constData()); + QCOMPARE(f.pos(), 0); + f.putChar('a'); + f.close(); + QCOMPARE(int(f.size()), 1); } void tst_QFile::permissions_data() @@ -1833,13 +1835,14 @@ void tst_QFile::encodeName() void tst_QFile::truncate() { - for (int i = 0; i < 2; ++i) { + const QIODevice::OpenModeFlag modes[] = { QFile::ReadWrite, QIODevice::WriteOnly, QIODevice::Append }; + for (auto mode : modes) { QFile file("truncate.txt"); QVERIFY2(file.open(QFile::WriteOnly), msgOpenFailed(file).constData()); file.write(QByteArray(200, '@')); file.close(); - QVERIFY2(file.open((i ? QFile::WriteOnly : QFile::ReadWrite) | QFile::Truncate), msgOpenFailed(file).constData()); + QVERIFY2(file.open(mode | QFile::Truncate), msgOpenFailed(file).constData()); file.write(QByteArray(100, '$')); file.close(); @@ -2210,7 +2213,8 @@ public: uint ownerId(FileOwner) const { return 0; } QString owner(FileOwner) const { return QString(); } QDateTime fileTime(FileTime) const { return QDateTime(); } - bool setFileTime(const QDateTime &newDate, FileTime time) { return false; } + bool setFileTime(const QDateTime &newDate, FileTime time) + { Q_UNUSED(newDate) Q_UNUSED(time) return false; } private: int number; @@ -2755,19 +2759,20 @@ void tst_QFile::renameMultiple() void tst_QFile::appendAndRead() { - QFile writeFile(QLatin1String("appendfile.txt")); - QVERIFY2(writeFile.open(QIODevice::WriteOnly | QIODevice::Truncate), msgOpenFailed(writeFile).constData()); + const QString fileName(QStringLiteral("appendfile.txt")); + QFile writeFile(fileName); + QVERIFY2(writeFile.open(QIODevice::Append | QIODevice::Truncate), msgOpenFailed(writeFile).constData()); - QFile readFile(QLatin1String("appendfile.txt")); + QFile readFile(fileName); QVERIFY2(readFile.open(QIODevice::ReadOnly), msgOpenFailed(readFile).constData()); // Write to the end of the file, then read that character back, and so on. for (int i = 0; i < 100; ++i) { char c = '\0'; - writeFile.putChar(char(i % 256)); + writeFile.putChar(char(i)); writeFile.flush(); QVERIFY(readFile.getChar(&c)); - QCOMPARE(c, char(i % 256)); + QCOMPARE(c, char(i)); QCOMPARE(readFile.pos(), writeFile.pos()); } @@ -2778,8 +2783,6 @@ void tst_QFile::appendAndRead() writeFile.flush(); QCOMPARE(readFile.read(size).size(), size); } - - readFile.close(); } void tst_QFile::miscWithUncPathAsCurrentDir() |