From 7df392bfd8936406a84afd75459d3c5d63cd5a9d Mon Sep 17 00:00:00 2001 From: Maksim Shabunin Date: Mon, 16 Nov 2015 14:02:26 +0300 Subject: [PATCH] run.py: issues with forced configuration fixed --- modules/ts/misc/run.py | 6 +++--- modules/ts/misc/run_suite.py | 9 ++++----- modules/ts/misc/run_utils.py | 11 +++++------ 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/modules/ts/misc/run.py b/modules/ts/misc/run.py index a3a13145a..ad6a38ddb 100755 --- a/modules/ts/misc/run.py +++ b/modules/ts/misc/run.py @@ -31,7 +31,7 @@ if __name__ == "__main__": parser.add_argument("--list", action="store_true", default=False, help="List available tests (executables)") parser.add_argument("--list_short", action="store_true", default=False, help="List available tests (aliases)") parser.add_argument("--list_short_main", action="store_true", default=False, help="List available tests (main repository, aliases)") - parser.add_argument("--configuration", metavar="CFG", default="", help="Visual Studio: force Debug or Release configuration") + parser.add_argument("--configuration", metavar="CFG", default=None, help="Force Debug or Release configuration (for Visual Studio and Java tests build)") parser.add_argument("-n", "--dry_run", action="store_true", help="Do not run the tests") parser.add_argument("-v", "--verbose", action="store_true", default=False, help="Print more debug information") @@ -95,12 +95,12 @@ if __name__ == "__main__": try: if not os.path.isdir(path): raise Err("Not a directory (should contain CMakeCache.txt ot test executables)") - cache = CMakeCache() + cache = CMakeCache(args.configuration) fname = os.path.join(path, "CMakeCache.txt") if os.path.isfile(fname): log.debug("Reading cmake cache file: %s", fname) - cache.read(path, fname, args.configuration) + cache.read(path, fname) else: log.debug("Assuming folder contains tests: %s", path) cache.setDummy(path) diff --git a/modules/ts/misc/run_suite.py b/modules/ts/misc/run_suite.py index c70ac0bfa..02779e80f 100644 --- a/modules/ts/misc/run_suite.py +++ b/modules/ts/misc/run_suite.py @@ -66,7 +66,9 @@ class TestSuite(object): res.append(fname) # filename (opencv_test_core.exe) for s in getCuts(fname, self.nameprefix): res.append(s) - res.append(re.sub(r"d$", '', s)) # MSVC debug config, remove 'd' suffix + if self.cache.build_type == "Debug": + res.append(re.sub(r"d$", '', s)) # MSVC debug config, remove 'd' suffix + log.debug("Aliases: %s", set(res)) return set(res) def getTest(self, name): @@ -104,10 +106,7 @@ class TestSuite(object): args = args[:] exe = os.path.abspath(path) if path == "java": - cfg = self.cache.build_type - if self.options.configuration: - cfg = self.options.configuration - cmd = [self.cache.ant_executable, "-Dopencv.build.type=%s" % cfg, "buildAndTest"] + cmd = [self.cache.ant_executable, "-Dopencv.build.type=%s" % self.cache.build_type, "buildAndTest"] ret = execute(cmd, cwd = self.cache.java_test_binary_dir + "/.build") return None, ret else: diff --git a/modules/ts/misc/run_utils.py b/modules/ts/misc/run_utils.py index dd98a5f62..5841631a7 100644 --- a/modules/ts/misc/run_utils.py +++ b/modules/ts/misc/run_utils.py @@ -174,17 +174,19 @@ parse_patterns = ( ) class CMakeCache: - def __init__(self): + def __init__(self, cfg = None): self.setDefaultAttrs() self.cmake_home_vcver = None self.opencv_home_vcver = None self.featuresSIMD = None self.main_modules = [] + if cfg: + self.build_type = cfg def setDummy(self, path): self.tests_dir = os.path.normpath(path) - def read(self, path, fname, cfg): + def read(self, path, fname): rx = re.compile(r'^opencv_(\w+)_SOURCE_DIR:STATIC=(.*)$') module_paths = {} # name -> path with open(fname, "rt") as cachefile: @@ -213,10 +215,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, cfg) - else: - self.tests_dir = os.path.join(self.tests_dir, self.build_type) + self.tests_dir = os.path.join(self.tests_dir, self.build_type) self.cmake_home_vcver = readGitVersion(self.git_executable, self.cmake_home) if self.opencv_home == self.cmake_home: