tst_QItemModel: Use a QTemporaryDir for test data of QDirModel.
Change-Id: I5943c6656da93d36e1955ac038bf656831da0c5c Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
This commit is contained in:
parent
fb69a09a24
commit
884e3bdd5d
@ -78,6 +78,9 @@ public:
|
|||||||
QList<test> tests;
|
QList<test> tests;
|
||||||
|
|
||||||
static void setupDatabase();
|
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 (QDirModel *dirModel = qobject_cast<QDirModel *>(model)) {
|
||||||
if (!QDir::current().mkdir("test"))
|
m_dirModelTempDir.reset(new QTemporaryDir);
|
||||||
qFatal("%s: cannot create directory %s",
|
if (!m_dirModelTempDir->isValid())
|
||||||
Q_FUNC_INFO,
|
qFatal("Cannot create temporary directory \"%s\": %s",
|
||||||
qPrintable(QDir::toNativeSeparators(QDir::currentPath()+"/test")));
|
qPrintable(QDir::toNativeSeparators(m_dirModelTempDir->path())),
|
||||||
|
qPrintable(m_dirModelTempDir->errorString()));
|
||||||
|
|
||||||
|
QDir tempDir(m_dirModelTempDir->path());
|
||||||
for (int i = 0; i < 26; ++i) {
|
for (int i = 0; i < 26; ++i) {
|
||||||
QString subdir = QString("test/foo_%1").arg(i);
|
const QString subdir = QString("foo_") + QString::number(i);
|
||||||
if (!QDir::current().mkdir(subdir))
|
if (!tempDir.mkdir(subdir))
|
||||||
qFatal("%s: cannot create directory %s",
|
qFatal("Cannot create directory %s",
|
||||||
Q_FUNC_INFO,
|
qPrintable(QDir::toNativeSeparators(tempDir.path() + QLatin1Char('/') +subdir)));
|
||||||
qPrintable(QDir::toNativeSeparators(QDir::currentPath()+"/"+subdir)));
|
|
||||||
}
|
}
|
||||||
return dirModel->index(QDir::currentPath()+"/test");
|
return dirModel->index(tempDir.path());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (QSqlQueryModel *queryModel = qobject_cast<QSqlQueryModel *>(model)) {
|
if (QSqlQueryModel *queryModel = qobject_cast<QSqlQueryModel *>(model)) {
|
||||||
@ -382,22 +387,8 @@ QModelIndex ModelsToTest::populateTestArea(QAbstractItemModel *model)
|
|||||||
*/
|
*/
|
||||||
void ModelsToTest::cleanupTestArea(QAbstractItemModel *model)
|
void ModelsToTest::cleanupTestArea(QAbstractItemModel *model)
|
||||||
{
|
{
|
||||||
if (qobject_cast<QDirModel *>(model))
|
if (qobject_cast<QDirModel *>(model)) {
|
||||||
{
|
m_dirModelTempDir.reset();
|
||||||
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")));
|
|
||||||
}
|
|
||||||
} else if (qobject_cast<QSqlQueryModel *>(model)) {
|
} else if (qobject_cast<QSqlQueryModel *>(model)) {
|
||||||
QSqlQuery q("DROP TABLE test");
|
QSqlQuery q("DROP TABLE test");
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user