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