From e316deffef68287b03f6eed6e98b5bfcd984280d Mon Sep 17 00:00:00 2001 From: David Faure Date: Wed, 28 Sep 2011 13:32:37 +0200 Subject: [PATCH] QTemporaryFile: Test what happens if current dir isn't writable. No surprises, QTemporaryFile("tempXXXXXX") fails. But that is consistent with QFile::open, and it's documented, so ok. Change-Id: I04c805a242aeda8327d25be238da6120b3c90f5a Merge-request: 57 Reviewed-by: Frederik Gladhorn Reviewed-on: http://codereview.qt-project.org/5714 Reviewed-by: Qt Sanity Bot --- .../io/qtemporaryfile/tst_qtemporaryfile.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp b/tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp index 18b5cccaaf..75b3b50d14 100644 --- a/tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp +++ b/tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp @@ -87,6 +87,7 @@ private slots: void fileName(); void fileNameIsEmpty(); void autoRemove(); + void nonWritableCurrentDir(); void write(); void openCloseOpenClose(); void size(); @@ -290,6 +291,22 @@ void tst_QTemporaryFile::autoRemove() } +void tst_QTemporaryFile::nonWritableCurrentDir() +{ +#ifdef Q_OS_UNIX + QString cwd = QDir::currentPath(); + QDir::setCurrent("/"); + // QTemporaryFile("tempXXXXXX") is probably a bad idea in any app + // where the current dir could anything... + QString fileName; + QTemporaryFile file("tempXXXXXX"); + file.setAutoRemove(true); + QVERIFY(!file.open()); + fileName = file.fileName(); + QDir::setCurrent(cwd); +#endif +} + void tst_QTemporaryFile::write() { QByteArray data("OLE\nOLE\nOLE");