RegTestRunner : Add removeDirectoryAndFilesRecursively

This commit is contained in:
Magne Sjaastad
2018-08-10 08:23:08 +02:00
parent 8b310e4cca
commit e21fe9b706
3 changed files with 60 additions and 22 deletions
+35
View File
@@ -280,4 +280,39 @@ bool Utils::isStringMatch(const QString& filterString, const QString& value)
return searcher.exactMatch(value);
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool Utils::removeDirectoryAndFilesRecursively(const QString& dirName)
{
bool result = true;
QDir dir(dirName);
if (dir.exists())
{
QFileInfoList fileInfoList =
dir.entryInfoList(QDir::NoDotAndDotDot | QDir::System | QDir::Hidden | QDir::AllDirs | QDir::Files, QDir::DirsFirst);
for (const auto& fileInfo : fileInfoList)
{
if (fileInfo.isDir())
{
result = removeDirectoryAndFilesRecursively(fileInfo.absoluteFilePath());
}
else
{
result = QFile::remove(fileInfo.absoluteFilePath());
}
if (!result)
{
return result;
}
}
result = QDir().rmdir(dirName);
}
return result;
}
} // namespace caf
+1
View File
@@ -69,6 +69,7 @@ public:
static bool isFolderWritable(const QString& folderName);
static bool isStringMatch(const QString& filterString, const QString& value);
static bool removeDirectoryAndFilesRecursively(const QString& dirName);
};
}