LGTM, thanks for getting to that, Pavel!<span></span><br><br>On Wednesday, March 30, 2016, Pavel Labath <<a href="mailto:labath@google.com">labath@google.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">labath created this revision.<br>
labath added reviewers: tberghammer, tfiala.<br>
labath added a subscriber: lldb-commits.<br>
<br>
Debug info is used only by the client and lldb-server tests do not even have the client component<br>
running, as they communicate with the server directly. Therefore, running the tests for each<br>
debug info type is unnecessarry.<br>
<br>
This adds general ability to mark a test class as not dependent on debug info, and marks all<br>
lldb-server tests as such.<br>
<br>
<a href="http://reviews.llvm.org/D18598" target="_blank">http://reviews.llvm.org/D18598</a><br>
<br>
Files:<br>
  packages/Python/lldbsuite/test/lldbtest.py<br>
  packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py<br>
<br>
Index: packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py<br>
===================================================================<br>
--- packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py<br>
+++ packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py<br>
@@ -29,6 +29,8 @@<br>
<br>
 class GdbRemoteTestCaseBase(TestBase):<br>
<br>
+    NO_DEBUG_INFO_TESTCASE = True<br>
+<br>
     _TIMEOUT_SECONDS = 7<br>
<br>
     _GDBREMOTE_KILL_PACKET = "$k#6b"<br>
Index: packages/Python/lldbsuite/test/lldbtest.py<br>
===================================================================<br>
--- packages/Python/lldbsuite/test/lldbtest.py<br>
+++ packages/Python/lldbsuite/test/lldbtest.py<br>
@@ -1422,9 +1422,15 @@<br>
 # Metaclass for TestBase to change the list of test metods when a new TestCase is loaded.<br>
 # We change the test methods to create a new test method for each test for each debug info we are<br>
 # testing. The name of the new test method will be '<original-name>_<debug-info>' and with adding<br>
-# the new test method we remove the old method at the same time.<br>
+# the new test method we remove the old method at the same time. This functionality can be<br>
+# supressed by at test case level setting the class attribute NO_DEBUG_INFO_TESTCASE or at test<br>
+# level by using the decorator @no_debug_info_test.<br>
 class LLDBTestCaseFactory(type):<br>
     def __new__(cls, name, bases, attrs):<br>
+        original_testcase = super(LLDBTestCaseFactory, cls).__new__(cls, name, bases, attrs)<br>
+        if original_testcase.NO_DEBUG_INFO_TESTCASE:<br>
+            return original_testcase<br>
+<br>
         newattrs = {}<br>
         for attrname, attrvalue in attrs.items():<br>
             if attrname.startswith("test") and not getattr(attrvalue, "__no_debug_info_test__", False):<br>
@@ -1526,6 +1532,10 @@<br>
           Mac OS X implementation is located in plugins/darwin.py.<br>
     """<br>
<br>
+    # Subclasses can set this to true (if they don't depend on debug info) to avoid running the<br>
+    # test multiple times with various debug info types.<br>
+    NO_DEBUG_INFO_TESTCASE = False<br>
+<br>
     # Maximum allowed attempts when launching the inferior process.<br>
     # Can be overridden by the LLDB_MAX_LAUNCH_COUNT environment variable.<br>
     maxLaunchCount = 3;<br>
<br>
<br>
</blockquote><br><br>-- <br><div dir="ltr">-Todd</div><br>