What's the extra frame?  Why does Python have an effect on the number of
frames seen by the minidump?  Something seems wrong about that.

On Fri, Jan 8, 2016 at 3:41 PM Adrian McCarthy <amcca...@google.com> wrote:

> amccarth created this revision.
> amccarth added a reviewer: zturner.
> amccarth added a subscriber: lldb-commits.
>
> Under Python 3, lldb sees an extra frame on the stack, so I check that the
> stack has at least the number frames we expect.
>
> Python 3 doesn't have dict.iteritems().  I used a wrapper function from
> six to keep this portable between the two versions.
>
> http://reviews.llvm.org/D16017
>
> Files:
>
> packages/Python/lldbsuite/test/functionalities/postmortem/minidump/TestMiniDump.py
>
> Index:
> packages/Python/lldbsuite/test/functionalities/postmortem/minidump/TestMiniDump.py
> ===================================================================
> ---
> packages/Python/lldbsuite/test/functionalities/postmortem/minidump/TestMiniDump.py
> +++
> packages/Python/lldbsuite/test/functionalities/postmortem/minidump/TestMiniDump.py
> @@ -3,7 +3,7 @@
>  """
>
>  from __future__ import print_function
> -
> +from six import iteritems
>
>
>  import lldb
> @@ -83,8 +83,8 @@
>              thread = process.GetThreadAtIndex(0)
>
>              expected_stack = { 0: 'bar', 1: 'foo', 2: 'main' }
> -            self.assertEqual(thread.GetNumFrames(), len(expected_stack))
> -            for index, name in expected_stack.iteritems():
> +            self.assertGreaterEqual(thread.GetNumFrames(),
> len(expected_stack))
> +            for index, name in iteritems(expected_stack):
>                  frame = thread.GetFrameAtIndex(index)
>                  self.assertTrue(frame.IsValid())
>                  function_name = frame.GetFunctionName()
>
>
>
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to