[Lldb-commits] [PATCH] D18598: Don't vary debug info for lldb-server tests
Todd Fiala via lldb-commits
lldb-commits at lists.llvm.org
Wed Mar 30 08:57:22 PDT 2016
LGTM, thanks for getting to that, Pavel!
On Wednesday, March 30, 2016, Pavel Labath <labath at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20160330/67a133e3/attachment.html>
More information about the lldb-commits
mailing list