Author: zturner
Date: Tue Dec  9 13:28:00 2014
New Revision: 223816

URL: http://llvm.org/viewvc/llvm-project?rev=223816&view=rev
Log:
XFAIL all of TestInferiorAssert.py tests on Windows.

Getting this working correctly is a significant amount of work.
Assertions on Windows show up as error code 0xC0000409, which is
STATUS_STACK_BUFFER_OVERRUN.  In order to accurately determine
that this is not just any stack buffer overrun, but one triggered
by a call to abort, we would need to analyze the call stack.  This
in turn requires better symbol support for Windows executables,
and work on LLDB to make stack frames better on Windows.

For now, these are XFAIL'ed and tracked in http://llvm.org/pr21793.

Modified:
    lldb/trunk/test/functionalities/inferior-assert/TestInferiorAssert.py
    lldb/trunk/test/lldbtest.py

Modified: lldb/trunk/test/functionalities/inferior-assert/TestInferiorAssert.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/functionalities/inferior-assert/TestInferiorAssert.py?rev=223816&r1=223815&r2=223816&view=diff
==============================================================================
--- lldb/trunk/test/functionalities/inferior-assert/TestInferiorAssert.py 
(original)
+++ lldb/trunk/test/functionalities/inferior-assert/TestInferiorAssert.py Tue 
Dec  9 13:28:00 2014
@@ -18,6 +18,7 @@ class AssertingInferiorTestCase(TestBase
 
     @expectedFailurei386("llvm.org/pr17384: lldb needs to be aware of 
linux-vdso.so to unwind stacks properly")
     @expectedFailureDarwin("rdar://15367233")
+    @expectedFailureWindows("llvm.org/pr21793: need to implement support for 
detecting assertion / abort on Windows")
     def test_inferior_asserting_dwarf(self):
         """Test that lldb reliably catches the inferior asserting (command)."""
         self.buildDwarf()
@@ -29,6 +30,7 @@ class AssertingInferiorTestCase(TestBase
         self.buildDsym()
         self.inferior_asserting_registers()
 
+    @expectedFailureWindows("llvm.org/pr21793: need to implement support for 
detecting assertion / abort on Windows")
     def test_inferior_asserting_register_dwarf(self):
         """Test that lldb reliably reads registers from the inferior after 
asserting (command)."""
         self.buildDwarf()
@@ -37,12 +39,14 @@ class AssertingInferiorTestCase(TestBase
     @expectedFailurei386("llvm.org/pr17384: lldb needs to be aware of 
linux-vdso.so to unwind stacks properly")
     @expectedFailureFreeBSD('llvm.org/pr18533 - PC in __assert frame is 
outside of function')
     @expectedFailureLinux("PC in __GI___assert_fail frame is just after the 
function (this is a no-return so there is no epilogue afterwards)")
+    @expectedFailureWindows("llvm.org/pr21793: need to implement support for 
detecting assertion / abort on Windows")
     def test_inferior_asserting_disassemble(self):
         """Test that lldb reliably disassembles frames after asserting 
(command)."""
         self.buildDefault()
         self.inferior_asserting_disassemble()
 
     @python_api_test
+    @expectedFailureWindows("llvm.org/pr21793: need to implement support for 
detecting assertion / abort on Windows")
     def test_inferior_asserting_python(self):
         """Test that lldb reliably catches the inferior asserting (Python 
API)."""
         self.buildDefault()
@@ -57,6 +61,7 @@ class AssertingInferiorTestCase(TestBase
 
     @expectedFailurei386('llvm.org/pr17384: lldb needs to be aware of 
linux-vdso.so to unwind stacks properly')
     @unittest2.expectedFailure("rdar://15367233")
+    @expectedFailureWindows("llvm.org/pr21793: need to implement support for 
detecting assertion / abort on Windows")
     def test_inferior_asserting_expr(self):
         """Test that the lldb expression interpreter can read from the 
inferior after asserting (command)."""
         self.buildDwarf()
@@ -71,6 +76,7 @@ class AssertingInferiorTestCase(TestBase
 
     @expectedFailurei386("llvm.org/pr17384: lldb needs to be aware of 
linux-vdso.so to unwind stacks properly")
     @expectedFailureDarwin("rdar://15367233")
+    @expectedFailureWindows("llvm.org/pr21793: need to implement support for 
detecting assertion / abort on Windows")
     def test_inferior_asserting_step(self):
         """Test that lldb functions correctly after stepping through a call to 
assert()."""
         self.buildDwarf()

Modified: lldb/trunk/test/lldbtest.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lldbtest.py?rev=223816&r1=223815&r2=223816&view=diff
==============================================================================
--- lldb/trunk/test/lldbtest.py (original)
+++ lldb/trunk/test/lldbtest.py Tue Dec  9 13:28:00 2014
@@ -516,6 +516,9 @@ def expectedFailureFreeBSD(bugnumber=Non
 def expectedFailureLinux(bugnumber=None, compilers=None):
     if bugnumber: return expectedFailureOS('linux', bugnumber, compilers)
 
+def expectedFailureWindows(bugnumber=None, compilers=None):
+    if bugnumber: return expectedFailureOS('win32', bugnumber, compilers)
+
 def skipIfRemote(func):
     """Decorate the item to skip tests if testing remotely."""
     if isinstance(func, type) and issubclass(func, unittest2.TestCase):


_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits

Reply via email to