summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/io/qtemporarydir/tst_qtemporarydir.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib/io/qtemporarydir/tst_qtemporarydir.cpp')
-rw-r--r--tests/auto/corelib/io/qtemporarydir/tst_qtemporarydir.cpp27
1 files changed, 20 insertions, 7 deletions
diff --git a/tests/auto/corelib/io/qtemporarydir/tst_qtemporarydir.cpp b/tests/auto/corelib/io/qtemporarydir/tst_qtemporarydir.cpp
index 3e98a369ce..621e215d60 100644
--- a/tests/auto/corelib/io/qtemporarydir/tst_qtemporarydir.cpp
+++ b/tests/auto/corelib/io/qtemporarydir/tst_qtemporarydir.cpp
@@ -93,6 +93,7 @@ void tst_QTemporaryDir::construction()
QCOMPARE(dir.path().left(tmp.size()), tmp);
QVERIFY(dir.path().contains("tst_qtemporarydir"));
QVERIFY(QFileInfo(dir.path()).isDir());
+ QCOMPARE(dir.errorString(), QString());
}
// Testing get/set functions
@@ -228,6 +229,13 @@ void tst_QTemporaryDir::autoRemove()
void tst_QTemporaryDir::nonWritableCurrentDir()
{
#ifdef Q_OS_UNIX
+
+# if defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_NO_SDK)
+ const char nonWritableDir[] = "/data";
+# else
+ const char nonWritableDir[] = "/home";
+# endif
+
if (::geteuid() == 0)
QSKIP("not valid running this test as root");
@@ -239,18 +247,19 @@ void tst_QTemporaryDir::nonWritableCurrentDir()
}
QString dir;
};
- ChdirOnReturn cor(QDir::currentPath());
-#if defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_NO_SDK)
- QDir::setCurrent("/data");
-#else
- QDir::setCurrent("/home");
-#endif
+ const QFileInfo nonWritableDirFi = QFileInfo(QLatin1String(nonWritableDir));
+ QVERIFY(nonWritableDirFi.isDir());
+ QVERIFY(!nonWritableDirFi.isWritable());
+
+ ChdirOnReturn cor(QDir::currentPath());
+ QVERIFY(QDir::setCurrent(nonWritableDirFi.absoluteFilePath()));
// QTemporaryDir("tempXXXXXX") is probably a bad idea in any app
// where the current dir could anything...
QTemporaryDir dir("tempXXXXXX");
dir.setAutoRemove(true);
QVERIFY(!dir.isValid());
+ QVERIFY(!dir.errorString().isEmpty());
QVERIFY(dir.path().isEmpty());
#endif
}
@@ -287,7 +296,11 @@ void tst_QTemporaryDir::stressTest()
for (int i = 0; i < iterations; ++i) {
QTemporaryDir dir(pattern);
dir.setAutoRemove(false);
- QVERIFY2(dir.isValid(), qPrintable(QString::fromLatin1("Failed to create #%1 under %2.").arg(i).arg(QDir::toNativeSeparators(pattern))));
+ QVERIFY2(dir.isValid(),
+ qPrintable(QString::fromLatin1("Failed to create #%1 under %2: %3.")
+ .arg(i)
+ .arg(QDir::toNativeSeparators(pattern))
+ .arg(dir.errorString())));
QVERIFY(!names.contains(dir.path()));
names.insert(dir.path());
}