From baa4627f135dbd47715268ce206799d15615563d Mon Sep 17 00:00:00 2001 From: Dimitry Date: Tue, 9 Jul 2019 13:13:11 +0300 Subject: [PATCH] detect folders with no tests when subfolders depth is more then 1 --- test/tools/libtesteth/TestOutputHelper.cpp | 23 ++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/test/tools/libtesteth/TestOutputHelper.cpp b/test/tools/libtesteth/TestOutputHelper.cpp index 4208a6f802c..1fcee036815 100644 --- a/test/tools/libtesteth/TestOutputHelper.cpp +++ b/test/tools/libtesteth/TestOutputHelper.cpp @@ -126,14 +126,20 @@ bool pathHasTests(boost::filesystem::path const& _path) void TestOutputHelper::checkUnfinishedTestFolders() { + // Unit tests does not mark test folders + if (m_finishedTestFoldersMap.size() == 0) + return; + // -t SuiteName/caseName parse caseName as filter // rCurrentTestSuite is empty if run without -t argument string filter; - size_t pos = Options::get().rCurrentTestSuite.find('/'); + size_t pos = Options::get().rCurrentTestSuite.rfind('/'); if (pos != string::npos) filter = Options::get().rCurrentTestSuite.substr(pos + 1); - if (!filter.empty()) + std::map::const_iterator singleTest = + m_finishedTestFoldersMap.begin(); + if (!filter.empty() && boost::filesystem::exists(singleTest->first / filter)) { if (m_finishedTestFoldersMap.size() > 1) { @@ -141,16 +147,13 @@ void TestOutputHelper::checkUnfinishedTestFolders() return; } - // Unit tests does not mark test folders - if (m_finishedTestFoldersMap.size() == 0) - return; - - std::map::const_iterator it = - m_finishedTestFoldersMap.begin(); - if (!pathHasTests(it->first / filter)) - std::cerr << "WARNING: Test folder " << it->first / filter + if (!pathHasTests(singleTest->first / filter)) + { + std::cerr << "WARNING: Test folder " << singleTest->first / filter << " appears to have no tests!" << "\n"; + return; + } } else {