[LNT] r267193 - test-suite: Allow to specify multiple cache files

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 22 12:12:31 PDT 2016


Author: matze
Date: Fri Apr 22 14:12:31 2016
New Revision: 267193

URL: http://llvm.org/viewvc/llvm-project?rev=267193&view=rev
Log:
test-suite: Allow to specify multiple cache files

Modified:
    lnt/trunk/lnt/tests/test_suite.py

Modified: lnt/trunk/lnt/tests/test_suite.py
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/tests/test_suite.py?rev=267193&r1=267192&r2=267193&view=diff
==============================================================================
--- lnt/trunk/lnt/tests/test_suite.py (original)
+++ lnt/trunk/lnt/tests/test_suite.py Fri Apr 22 14:12:31 2016
@@ -90,6 +90,7 @@ class TestSuiteTest(BuiltinTest):
                                "-D prefix and can be given multiple times. e.g.: "
                                "--cmake-define A=B => -DA=B"))
         group.add_option("-C", "--cmake-cache", dest="cmake_cache",
+                         action="append", default=[],
                          help=("Use one of the test-suite's cmake configurations."
                                " Ex: Release, Debug"))
         parser.add_option_group(group)
@@ -457,24 +458,24 @@ class TestSuiteTest(BuiltinTest):
         lines.append('}')
         
         # Prepare cmake cache if requested:
-        cache = []
-        if self.opts.cmake_cache:
-            cache_path = os.path.join(self._test_suite_dir(),
-                                      "cmake/caches/", self.opts.cmake_cache + ".cmake")
-            if os.path.exists(cache_path):
-                cache = ['-C', cache_path]
-            else:
-                fatal("Could not find CMake cache file: " +
-                      self.opts.cmake_cache + " in " + cache_path)
+        cmake_flags = []
+        for cache in self.opts.cmake_cache:
+            # Shortcut for the common case.
+            if not cache.endswith(".cmake") and "/" not in cache:
+                cache = os.path.join(self._test_suite_dir(),
+                                     "cmake/caches", cache + ".cmake")
+            if not os.path.exists(cache):
+                fatal("Could not find CMake cache file: " + cache)
+            cmake_flags += ['-C', cache]
 
         for l in lines:
             note(l)
-        
-        cmake_cmd = [cmake_cmd] + cache + [self._test_suite_dir()] + \
+
+        cmake_cmd = [cmake_cmd] + cmake_flags + [self._test_suite_dir()] + \
                     ['-D%s=%s' % (k, v) for k, v in defs.items()]
         if execute:
             self._check_call(cmake_cmd, cwd=path)
-        
+
         return cmake_cmd
 
     def _make(self, path):




More information about the llvm-commits mailing list