diff --git a/ApplicationCode/Application/Tools/RiaRegressionTest.cpp b/ApplicationCode/Application/Tools/RiaRegressionTest.cpp index e74043d2ab..f4eb863610 100644 --- a/ApplicationCode/Application/Tools/RiaRegressionTest.cpp +++ b/ApplicationCode/Application/Tools/RiaRegressionTest.cpp @@ -70,6 +70,9 @@ RiaRegressionTest::RiaRegressionTest(void) "If empty, all tests are executed.\nTo execute a subset of tests, specify folder names separated by ;", ""); testFilter.uiCapability()->setUiEditorTypeName(caf::PdmUiTextEditor::uiEditorTypeName()); + + CAF_PDM_InitField( + &appendTestsAfterTestFilter, "appendTestsAfterTestFilter", false, "Append All Tests After Test Filter", "", "", ""); } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/Application/Tools/RiaRegressionTest.h b/ApplicationCode/Application/Tools/RiaRegressionTest.h index 6dbf2eb181..f70d5f1986 100644 --- a/ApplicationCode/Application/Tools/RiaRegressionTest.h +++ b/ApplicationCode/Application/Tools/RiaRegressionTest.h @@ -42,6 +42,7 @@ public: caf::PdmField showInteractiveDiffImages; caf::PdmField useOpenMPForGeometryCreation; caf::PdmField openReportInBrowser; + caf::PdmField appendTestsAfterTestFilter; protected: void defineEditorAttribute(const caf::PdmFieldHandle* field, diff --git a/ApplicationCode/Application/Tools/RiaRegressionTestRunner.cpp b/ApplicationCode/Application/Tools/RiaRegressionTestRunner.cpp index e75ed9ef1f..3b8e34ec07 100644 --- a/ApplicationCode/Application/Tools/RiaRegressionTestRunner.cpp +++ b/ApplicationCode/Application/Tools/RiaRegressionTestRunner.cpp @@ -83,6 +83,7 @@ void logInfoTextWithTimeInSeconds(const QTime& time, const QString& msg) //-------------------------------------------------------------------------------------------------- RiaRegressionTestRunner::RiaRegressionTestRunner() : m_runningRegressionTests(false) + , m_appendAllTestsAfterLastItemInFilter(false) { } @@ -589,6 +590,8 @@ QFileInfoList RiaRegressionTestRunner::subDirectoriesForTestExecution(const QDir return folderList; } + bool anyMatchFound = false; + QFileInfoList foldersMatchingTestFilter; QFileInfoList folderList = directory.entryInfoList(); @@ -600,9 +603,10 @@ QFileInfoList RiaRegressionTestRunner::subDirectoriesForTestExecution(const QDir for (const auto& s : m_testFilter) { QString trimmed = s.trimmed(); - if (baseName.contains(trimmed, Qt::CaseInsensitive)) + if (anyMatchFound || baseName.contains(trimmed, Qt::CaseInsensitive)) { foldersMatchingTestFilter.push_back(fi); + anyMatchFound = true; } } } @@ -621,6 +625,11 @@ void RiaRegressionTestRunner::executeRegressionTests() QString testPath = testConfig.regressionTestFolder(); QStringList testFilter = testConfig.testFilter().split(";", QString::SkipEmptyParts); + if (testConfig.appendTestsAfterTestFilter) + { + m_appendAllTestsAfterLastItemInFilter = true; + } + executeRegressionTests(testPath, testFilter); } diff --git a/ApplicationCode/Application/Tools/RiaRegressionTestRunner.h b/ApplicationCode/Application/Tools/RiaRegressionTestRunner.h index 9370fa5eed..4a5edf2817 100644 --- a/ApplicationCode/Application/Tools/RiaRegressionTestRunner.h +++ b/ApplicationCode/Application/Tools/RiaRegressionTestRunner.h @@ -68,6 +68,7 @@ private: private: QString m_rootPath; QStringList m_testFilter; + bool m_appendAllTestsAfterLastItemInFilter; bool m_runningRegressionTests; RiaRegressionTest m_regressionTestSettings; }; diff --git a/ApplicationCode/UserInterface/RiuMainWindow.cpp b/ApplicationCode/UserInterface/RiuMainWindow.cpp index 9da94800f0..6d7a088d24 100644 --- a/ApplicationCode/UserInterface/RiuMainWindow.cpp +++ b/ApplicationCode/UserInterface/RiuMainWindow.cpp @@ -1903,7 +1903,7 @@ void RiuMainWindow::slotShowRegressionTestDialog() regTestConfig.readSettingsFromApplicationStore(); caf::PdmUiPropertyViewDialog regressionTestDialog(this, ®TestConfig, "Regression Test", ""); - regressionTestDialog.resize(QSize(600, 300)); + regressionTestDialog.resize(QSize(600, 350)); if (regressionTestDialog.exec() == QDialog::Accepted) {