emaste added a comment.

With this patch I observed three new failures on FreeBSD and three new 
unexpected passes on FreeBSD. An example of a new failure:

  ======================================================================
  FAIL: test_inferior_crashing_expr_step_and_expr_dwarf 
(TestInferiorCrashing.CrashingInferiorTestCase)
     Test that lldb expressions work before and after stepping after a crash.
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File 
"/tank/emaste/src/llvm/tools/lldb/packages/Python/lldbsuite/test/lldbtest.py", 
line 1732, in dwarf_test_method
      return attrvalue(self)
    File 
"/tank/emaste/src/llvm/tools/lldb/packages/Python/lldbsuite/test/decorators.py",
 line 110, in wrapper
      func(*args, **kwargs)
    File 
"/tank/emaste/src/llvm/tools/lldb/packages/Python/lldbsuite/test/functionalities/inferior-crashing/TestInferiorCrashing.py",
 line 82, in test_inferior_crashing_expr_step_and_expr
      self.inferior_crashing_expr_step_expr()
    File 
"/tank/emaste/src/llvm/tools/lldb/packages/Python/lldbsuite/test/functionalities/inferior-crashing/TestInferiorCrashing.py",
 line 249, in inferior_crashing_expr_step_expr
      self.check_stop_reason()
    File 
"/tank/emaste/src/llvm/tools/lldb/packages/Python/lldbsuite/test/functionalities/inferior-crashing/TestInferiorCrashing.py",
 line 93, in check_stop_reason
      STOPPED_DUE_TO_EXC_BAD_ACCESS)
  AssertionError: 0 != 1 : Process should be stopped due to bad access exception
  Config=x86_64-/usr/bin/cc
  ----------------------------------------------------------------------
  Ran 7 tests in 4.320s

From lldbsuite/test/lldbutil.py:

  def is_thread_crashed(test, thread):
      """In the test suite we dereference a null pointer to simulate a crash. 
The way this is
      reported depends on the platform."""
      if test.platformIsDarwin():
          return thread.GetStopReason(
          ) == lldb.eStopReasonException and "EXC_BAD_ACCESS" in 
thread.GetStopDescription(100)
      elif test.getPlatform() == "linux":
          return thread.GetStopReason() == lldb.eStopReasonSignal and 
thread.GetStopReasonDataAtIndex(
              0) == 
thread.GetProcess().GetUnixSignals().GetSignalNumberFromName("SIGSEGV")
      else:
          return "invalid address" in thread.GetStopDescription(100)

Presumably we want the second case to apply on FreeBSD as well when this patch 
is in, although I don't see why the existing else case shouldn't continue to 
work correctly.


Repository:
  rL LLVM

https://reviews.llvm.org/D35223



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to