From 97878645bcd3ef787862a6b03e2f1475b7e5fe0c Mon Sep 17 00:00:00 2001 From: Maksim Shabunin Date: Fri, 13 Nov 2015 12:26:39 +0300 Subject: [PATCH] Fix run.py test detection issues for debug VS configurations --- modules/ts/misc/run_suite.py | 27 +++++++++++++++------------ modules/ts/misc/run_utils.py | 4 ++-- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/modules/ts/misc/run_suite.py b/modules/ts/misc/run_suite.py index c3d715e168..c70ac0bfa2 100644 --- a/modules/ts/misc/run_suite.py +++ b/modules/ts/misc/run_suite.py @@ -48,22 +48,25 @@ class TestSuite(object): return sorted(self.getAliases(fname), key = len)[0] def getAliases(self, fname): + def getCuts(fname, prefix): + # filename w/o extension (opencv_test_core) + noext = re.sub(r"\.(exe|apk)$", '', fname) + # filename w/o prefix (core.exe) + nopref = fname + if fname.startswith(prefix): + nopref = fname[len(prefix):] + # filename w/o prefix and extension (core) + noprefext = noext + if noext.startswith(prefix): + noprefext = noext[len(prefix):] + return noext, nopref, noprefext # input is full path ('/home/.../bin/opencv_test_core') or 'java' res = [fname] fname = os.path.basename(fname) res.append(fname) # filename (opencv_test_core.exe) - noext = re.sub(r"\.(exe|apk)$", '', fname) - res.append(noext) # filename w/o extension (opencv_test_core) - nopref = None - if fname.startswith(self.nameprefix): - nopref = fname[len(self.nameprefix):] - res.append(nopref) # filename w/o prefix (core) - if noext.startswith(self.nameprefix): - res.append(noext[len(self.nameprefix):]) - if self.options.configuration == "Debug": - res.append(re.sub(r"d$", '', noext)) # MSVC debug config, remove 'd' suffix - if nopref: - res.append(re.sub(r"d$", '', nopref)) # MSVC debug config, remove 'd' suffix + for s in getCuts(fname, self.nameprefix): + res.append(s) + res.append(re.sub(r"d$", '', s)) # MSVC debug config, remove 'd' suffix return set(res) def getTest(self, name): diff --git a/modules/ts/misc/run_utils.py b/modules/ts/misc/run_utils.py index dca951d17a..dd98a5f620 100644 --- a/modules/ts/misc/run_utils.py +++ b/modules/ts/misc/run_utils.py @@ -152,7 +152,7 @@ parse_patterns = ( {'name': "opencv_home", 'default': None, 'pattern': re.compile(r"^OpenCV_SOURCE_DIR:STATIC=(.+)$")}, {'name': "opencv_build", 'default': None, 'pattern': re.compile(r"^OpenCV_BINARY_DIR:STATIC=(.+)$")}, {'name': "tests_dir", 'default': None, 'pattern': re.compile(r"^EXECUTABLE_OUTPUT_PATH:PATH=(.+)$")}, - {'name': "build_type", 'default': "Release", 'pattern': re.compile(r"^CMAKE_BUILD_TYPE:STRING=(.*)$")}, + {'name': "build_type", 'default': "Release", 'pattern': re.compile(r"^CMAKE_BUILD_TYPE:\w+=(.*)$")}, {'name': "git_executable", 'default': None, 'pattern': re.compile(r"^GIT_EXECUTABLE:FILEPATH=(.*)$")}, {'name': "cxx_flags", 'default': "", 'pattern': re.compile(r"^CMAKE_CXX_FLAGS:STRING=(.*)$")}, {'name': "cxx_flags_debug", 'default': "", 'pattern': re.compile(r"^CMAKE_CXX_FLAGS_DEBUG:STRING=(.*)$")}, @@ -214,7 +214,7 @@ class CMakeCache: # fix VS test binary path (add Debug or Release) if "Visual Studio" in self.cmake_generator: if cfg: - self.tests_dir = os.path.join(self.tests_dir, self.options.configuration) + self.tests_dir = os.path.join(self.tests_dir, cfg) else: self.tests_dir = os.path.join(self.tests_dir, self.build_type)