mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
RegTestRunner : Add removeDirectoryAndFilesRecursively
This commit is contained in:
parent
8b310e4cca
commit
e21fe9b706
@ -32,13 +32,15 @@
|
|||||||
#include "RimMainPlotCollection.h"
|
#include "RimMainPlotCollection.h"
|
||||||
#include "RimProject.h"
|
#include "RimProject.h"
|
||||||
|
|
||||||
#include "RiuPlotMainWindow.h"
|
|
||||||
#include "RiuMainWindow.h"
|
#include "RiuMainWindow.h"
|
||||||
|
#include "RiuPlotMainWindow.h"
|
||||||
#include "RiuViewer.h"
|
#include "RiuViewer.h"
|
||||||
|
|
||||||
#include "ExportCommands/RicSnapshotAllPlotsToFileFeature.h"
|
#include "ExportCommands/RicSnapshotAllPlotsToFileFeature.h"
|
||||||
#include "ExportCommands/RicSnapshotAllViewsToFileFeature.h"
|
#include "ExportCommands/RicSnapshotAllViewsToFileFeature.h"
|
||||||
|
|
||||||
|
#include "cafUtils.h"
|
||||||
|
|
||||||
#include <QDateTime>
|
#include <QDateTime>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QDesktopServices>
|
#include <QDesktopServices>
|
||||||
@ -153,13 +155,20 @@ void RiaRegressionTestRunner::runRegressionTest(const QString& testRootPath, con
|
|||||||
{
|
{
|
||||||
QDir testCaseFolder(folderList[i].filePath());
|
QDir testCaseFolder(folderList[i].filePath());
|
||||||
|
|
||||||
QDir genDir(testCaseFolder.filePath(generatedFolderName));
|
{
|
||||||
removeDirectoryWithContent(genDir);
|
QDir genDir(testCaseFolder.filePath(generatedFolderName));
|
||||||
|
removeDirectoryWithContent(genDir);
|
||||||
|
}
|
||||||
|
|
||||||
QDir diffDir(testCaseFolder.filePath(diffFolderName));
|
{
|
||||||
removeDirectoryWithContent(diffDir);
|
QDir diffDir(testCaseFolder.filePath(diffFolderName));
|
||||||
|
removeDirectoryWithContent(diffDir);
|
||||||
|
}
|
||||||
|
|
||||||
QDir baseDir(testCaseFolder.filePath(baseFolderName));
|
{
|
||||||
|
QDir generatedFiles(testCaseFolder.filePath(RegTestNames::generatedFilesFolderName));
|
||||||
|
removeDirectoryWithContent(generatedFiles);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Generate html report
|
// Generate html report
|
||||||
@ -216,12 +225,6 @@ void RiaRegressionTestRunner::runRegressionTest(const QString& testRootPath, con
|
|||||||
QFileInfoList commandFileEntries = testCaseFolder.entryInfoList(filterList);
|
QFileInfoList commandFileEntries = testCaseFolder.entryInfoList(filterList);
|
||||||
if (!commandFileEntries.empty())
|
if (!commandFileEntries.empty())
|
||||||
{
|
{
|
||||||
{
|
|
||||||
QString generatedFilesFolderName = testCaseFolder.filePath(RegTestNames::generatedFilesFolderName);
|
|
||||||
QDir genDir(generatedFilesFolderName);
|
|
||||||
removeDirectoryWithContent(genDir);
|
|
||||||
}
|
|
||||||
|
|
||||||
QString currentApplicationPath = QDir::current().absolutePath();
|
QString currentApplicationPath = QDir::current().absolutePath();
|
||||||
|
|
||||||
// Set current path to the folder containing the command file, as this is required when using file references
|
// Set current path to the folder containing the command file, as this is required when using file references
|
||||||
@ -268,22 +271,26 @@ void RiaRegressionTestRunner::runRegressionTest(const QString& testRootPath, con
|
|||||||
|
|
||||||
html += "<table>\n";
|
html += "<table>\n";
|
||||||
html += " <tr>\n";
|
html += " <tr>\n";
|
||||||
html += " <td colspan=\"3\" bgcolor=\"darkblue\" height=\"40\"> <b><font color=\"white\" size=\"3\"> " + headerText + " </font></b> </td>\n";
|
html +=
|
||||||
|
" <td colspan=\"3\" bgcolor=\"darkblue\" height=\"40\"> <b><font color=\"white\" size=\"3\"> " +
|
||||||
|
headerText + " </font></b> </td>\n";
|
||||||
html += " </tr>\n";
|
html += " </tr>\n";
|
||||||
|
|
||||||
textFileCompare.runComparison(baseFilesFolderName, generatedFilesFolderName);
|
textFileCompare.runComparison(baseFilesFolderName, generatedFilesFolderName);
|
||||||
|
|
||||||
QString diff = textFileCompare.diffOutput();
|
QString diff = textFileCompare.diffOutput();
|
||||||
if (diff.isEmpty())
|
if (diff.isEmpty())
|
||||||
{
|
{
|
||||||
html += " <tr>\n";
|
html += " <tr>\n";
|
||||||
html += " <td colspan=\"3\" bgcolor=\"lightgray\"> <font color=\"green\">No text diff detected</font> </td> \n";
|
html += " <td colspan=\"3\" bgcolor=\"lightgray\"> <font color=\"green\">No text diff "
|
||||||
|
"detected</font> </td> \n";
|
||||||
html += " </tr>\n";
|
html += " </tr>\n";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
html += " <tr>\n";
|
html += " <tr>\n";
|
||||||
html += " <td colspan=\"3\" bgcolor=\"lightgray\"> <font color=\"red\">Text diff detected - output from diff tool : </font> </td> \n";
|
html += " <td colspan=\"3\" bgcolor=\"lightgray\"> <font color=\"red\">Text diff detected - "
|
||||||
|
"output from diff tool : </font> </td> \n";
|
||||||
html += " </tr>\n";
|
html += " </tr>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -382,12 +389,7 @@ void RiaRegressionTestRunner::runRegressionTest(const QString& testRootPath, con
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RiaRegressionTestRunner::removeDirectoryWithContent(QDir& dirToDelete)
|
void RiaRegressionTestRunner::removeDirectoryWithContent(QDir& dirToDelete)
|
||||||
{
|
{
|
||||||
QStringList files = dirToDelete.entryList();
|
caf::Utils::removeDirectoryAndFilesRecursively(dirToDelete.absolutePath());
|
||||||
for (int fIdx = 0; fIdx < files.size(); ++fIdx)
|
|
||||||
{
|
|
||||||
dirToDelete.remove(files[fIdx]);
|
|
||||||
}
|
|
||||||
dirToDelete.rmdir(".");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -280,4 +280,39 @@ bool Utils::isStringMatch(const QString& filterString, const QString& value)
|
|||||||
return searcher.exactMatch(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
|
} // namespace caf
|
||||||
|
@ -69,6 +69,7 @@ public:
|
|||||||
static bool isFolderWritable(const QString& folderName);
|
static bool isFolderWritable(const QString& folderName);
|
||||||
|
|
||||||
static bool isStringMatch(const QString& filterString, const QString& value);
|
static bool isStringMatch(const QString& filterString, const QString& value);
|
||||||
|
static bool removeDirectoryAndFilesRecursively(const QString& dirName);
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user