summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/io/qfile/tst_qfile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib/io/qfile/tst_qfile.cpp')
-rw-r--r--tests/auto/corelib/io/qfile/tst_qfile.cpp50
1 files changed, 44 insertions, 6 deletions
diff --git a/tests/auto/corelib/io/qfile/tst_qfile.cpp b/tests/auto/corelib/io/qfile/tst_qfile.cpp
index c173a87a41..bfb14da8b8 100644
--- a/tests/auto/corelib/io/qfile/tst_qfile.cpp
+++ b/tests/auto/corelib/io/qfile/tst_qfile.cpp
@@ -68,8 +68,6 @@ QT_END_NAMESPACE
#elif defined(Q_OS_FREEBSD)
# include <sys/param.h>
# include <sys/mount.h>
-#elif defined(Q_OS_IRIX)
-# include <sys/statfs.h>
#elif defined(Q_OS_VXWORKS)
# include <fcntl.h>
#if defined(_WRS_KERNEL)
@@ -170,6 +168,8 @@ private slots:
void getch();
void ungetChar();
void createFile();
+ void createFileNewOnly();
+ void openFileExistingOnly();
void append();
void permissions_data();
void permissions();
@@ -1213,6 +1213,48 @@ void tst_QFile::createFile()
QVERIFY( QFile::exists( "createme.txt" ) );
}
+void tst_QFile::createFileNewOnly()
+{
+ QFile::remove("createme.txt");
+ QVERIFY(!QFile::exists("createme.txt"));
+
+ QFile f("createme.txt");
+ QVERIFY2(f.open(QIODevice::NewOnly), msgOpenFailed(f).constData());
+ f.close();
+ QVERIFY(QFile::exists("createme.txt"));
+
+ QVERIFY(!f.open(QIODevice::NewOnly));
+ QVERIFY(QFile::exists("createme.txt"));
+ QFile::remove("createme.txt");
+}
+
+void tst_QFile::openFileExistingOnly()
+{
+ QFile::remove("dontcreateme.txt");
+ QVERIFY(!QFile::exists("dontcreateme.txt"));
+
+ QFile f("dontcreateme.txt");
+ QVERIFY(!f.open(QIODevice::ExistingOnly | QIODevice::ReadOnly));
+ QVERIFY(!f.open(QIODevice::ExistingOnly | QIODevice::WriteOnly));
+ QVERIFY(!f.open(QIODevice::ExistingOnly | QIODevice::ReadWrite));
+ QVERIFY(!f.open(QIODevice::ExistingOnly));
+ QVERIFY(!QFile::exists("dontcreateme.txt"));
+
+ QVERIFY2(f.open(QIODevice::NewOnly), msgOpenFailed(f).constData());
+ f.close();
+ QVERIFY(QFile::exists("dontcreateme.txt"));
+
+ QVERIFY2(f.open(QIODevice::ExistingOnly | QIODevice::ReadOnly), msgOpenFailed(f).constData());
+ f.close();
+ QVERIFY2(f.open(QIODevice::ExistingOnly | QIODevice::WriteOnly), msgOpenFailed(f).constData());
+ f.close();
+ QVERIFY2(f.open(QIODevice::ExistingOnly | QIODevice::ReadWrite), msgOpenFailed(f).constData());
+ f.close();
+ QVERIFY(!f.open(QIODevice::ExistingOnly));
+ QVERIFY(QFile::exists("dontcreateme.txt"));
+ QFile::remove("dontcreateme.txt");
+}
+
void tst_QFile::append()
{
const QString name("appendme.txt");
@@ -1957,10 +1999,6 @@ void tst_QFile::largeFileSupport()
if (::GetDiskFreeSpaceEx((wchar_t*)QDir::currentPath().utf16(), &free, 0, 0))
freespace = free.QuadPart;
if (freespace != 0) {
-#elif defined(Q_OS_IRIX)
- struct statfs info;
- if (statfs(QDir::currentPath().local8Bit(), &info, sizeof(struct statfs), 0) == 0) {
- freespace = qlonglong(info.f_bfree * info.f_bsize);
#else
struct statfs info;
if (statfs(const_cast<char *>(QDir::currentPath().toLocal8Bit().constData()), &info) == 0) {