diff options
Diffstat (limited to 'tests/auto/corelib/io/qtemporaryfile')
-rw-r--r-- | tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp b/tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp index 46c0e19c9e..c713eb51d4 100644 --- a/tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp +++ b/tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp @@ -256,7 +256,16 @@ void tst_QTemporaryFile::autoRemove() void tst_QTemporaryFile::nonWritableCurrentDir() { #ifdef Q_OS_UNIX - QString cwd = QDir::currentPath(); + struct ChdirOnReturn + { + ChdirOnReturn(const QString& d) : dir(d) {} + ~ChdirOnReturn() { + QDir::setCurrent(dir); + } + QString dir; + }; + ChdirOnReturn cor(QDir::currentPath()); + QDir::setCurrent("/"); // QTemporaryFile("tempXXXXXX") is probably a bad idea in any app // where the current dir could anything... @@ -265,7 +274,6 @@ void tst_QTemporaryFile::nonWritableCurrentDir() file.setAutoRemove(true); QVERIFY(!file.open()); fileName = file.fileName(); - QDir::setCurrent(cwd); #endif } |