summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/corelib/itemmodels/qitemmodel/modelstotest.cpp43
1 files changed, 17 insertions, 26 deletions
diff --git a/tests/auto/corelib/itemmodels/qitemmodel/modelstotest.cpp b/tests/auto/corelib/itemmodels/qitemmodel/modelstotest.cpp
index ba143a31f8..e0e688cc3a 100644
--- a/tests/auto/corelib/itemmodels/qitemmodel/modelstotest.cpp
+++ b/tests/auto/corelib/itemmodels/qitemmodel/modelstotest.cpp
@@ -78,6 +78,9 @@ public:
QList<test> tests;
static void setupDatabase();
+
+private:
+ QScopedPointer<QTemporaryDir> m_dirModelTempDir;
};
@@ -306,18 +309,20 @@ QModelIndex ModelsToTest::populateTestArea(QAbstractItemModel *model)
}
if (QDirModel *dirModel = qobject_cast<QDirModel *>(model)) {
- if (!QDir::current().mkdir("test"))
- qFatal("%s: cannot create directory %s",
- Q_FUNC_INFO,
- qPrintable(QDir::toNativeSeparators(QDir::currentPath()+"/test")));
+ m_dirModelTempDir.reset(new QTemporaryDir);
+ if (!m_dirModelTempDir->isValid())
+ qFatal("Cannot create temporary directory \"%s\": %s",
+ qPrintable(QDir::toNativeSeparators(m_dirModelTempDir->path())),
+ qPrintable(m_dirModelTempDir->errorString()));
+
+ QDir tempDir(m_dirModelTempDir->path());
for (int i = 0; i < 26; ++i) {
- QString subdir = QString("test/foo_%1").arg(i);
- if (!QDir::current().mkdir(subdir))
- qFatal("%s: cannot create directory %s",
- Q_FUNC_INFO,
- qPrintable(QDir::toNativeSeparators(QDir::currentPath()+"/"+subdir)));
+ const QString subdir = QString("foo_") + QString::number(i);
+ if (!tempDir.mkdir(subdir))
+ qFatal("Cannot create directory %s",
+ qPrintable(QDir::toNativeSeparators(tempDir.path() + QLatin1Char('/') +subdir)));
}
- return dirModel->index(QDir::currentPath()+"/test");
+ return dirModel->index(tempDir.path());
}
if (QSqlQueryModel *queryModel = qobject_cast<QSqlQueryModel *>(model)) {
@@ -382,22 +387,8 @@ QModelIndex ModelsToTest::populateTestArea(QAbstractItemModel *model)
*/
void ModelsToTest::cleanupTestArea(QAbstractItemModel *model)
{
- if (qobject_cast<QDirModel *>(model))
- {
- if (QDir(QDir::currentPath()+"/test").exists())
- {
- for (int i = 0; i < 26; ++i) {
- QString subdir(QString("test/foo_%1").arg(i));
- if (!QDir::current().rmdir(subdir))
- qFatal("%s: cannot remove directory %s",
- Q_FUNC_INFO,
- qPrintable(QDir::toNativeSeparators(QDir::currentPath()+"/"+subdir)));
- }
- if (!QDir::current().rmdir("test"))
- qFatal("%s: cannot remove directory %s",
- Q_FUNC_INFO,
- qPrintable(QDir::toNativeSeparators(QDir::currentPath()+"/test")));
- }
+ if (qobject_cast<QDirModel *>(model)) {
+ m_dirModelTempDir.reset();
} else if (qobject_cast<QSqlQueryModel *>(model)) {
QSqlQuery q("DROP TABLE test");
}