[Lldb-commits] [lldb] r326739 - [test] Skip pexpect-based lldb-mi tests on Darwin

Vedant Kumar via lldb-commits lldb-commits at lists.llvm.org
Mon Mar 5 12:16:52 PST 2018


Author: vedantk
Date: Mon Mar  5 12:16:52 2018
New Revision: 326739

URL: http://llvm.org/viewvc/llvm-project?rev=326739&view=rev
Log:
[test] Skip pexpect-based lldb-mi tests on Darwin

These tests fail with a relatively frequently on Darwin machines with
errors such as:

  File ".../lldb/third_party/Python/module/pexpect-2.4/pexpect.py", line 1444, in expect_loop
    raise EOF(str(e) + '\n' + str(self))
EOF: End Of File (EOF) in read_nonblocking(). Empty string style platform.

The unpredictable failures make these tests noisy.

rdar://37046976

Modified:
    lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/TestMiExit.py
    lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/TestMiGdbSetShow.py
    lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/data/TestMiData.py
    lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/signal/TestMiSignal.py

Modified: lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/TestMiExit.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/TestMiExit.py?rev=326739&r1=326738&r2=326739&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/TestMiExit.py (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/TestMiExit.py Mon Mar  5 12:16:52 2018
@@ -17,6 +17,7 @@ class MiExitTestCase(lldbmi_testcase.MiT
     @expectedFailureAll(
         oslist=["windows"],
         bugnumber="llvm.org/pr22274: need a pexpect replacement for windows")
+    @skipIfDarwin   # pexpect is known to be unreliable on Darwin
     @skipIfFreeBSD  # llvm.org/pr22411: Failure presumably due to known thread races
     @skipIfRemote   # We do not currently support remote debugging via the MI.
     def test_lldbmi_gdb_exit(self):
@@ -44,6 +45,7 @@ class MiExitTestCase(lldbmi_testcase.MiT
     @expectedFailureAll(
         oslist=["windows"],
         bugnumber="llvm.org/pr22274: need a pexpect replacement for windows")
+    @skipIfDarwin   # pexpect is known to be unreliable on Darwin
     @skipIfFreeBSD  # llvm.org/pr22411: Failure presumably due to known thread races
     @skipIfRemote   # We do not currently support remote debugging via the MI.
     def test_lldbmi_quit(self):
@@ -70,6 +72,7 @@ class MiExitTestCase(lldbmi_testcase.MiT
     @expectedFailureAll(
         oslist=["windows"],
         bugnumber="llvm.org/pr22274: need a pexpect replacement for windows")
+    @skipIfDarwin   # pexpect is known to be unreliable on Darwin
     @skipIfFreeBSD  # llvm.org/pr22411: Failure presumably due to known thread races
     @skipIfRemote   # We do not currently support remote debugging via the MI.
     def test_lldbmi_q(self):

Modified: lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/TestMiGdbSetShow.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/TestMiGdbSetShow.py?rev=326739&r1=326738&r2=326739&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/TestMiGdbSetShow.py (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/TestMiGdbSetShow.py Mon Mar  5 12:16:52 2018
@@ -19,6 +19,7 @@ class MiGdbSetShowTestCase(lldbmi_testca
     @expectedFailureAll(
         oslist=["windows"],
         bugnumber="llvm.org/pr22274: need a pexpect replacement for windows")
+    @skipIfDarwin   # pexpect is known to be unreliable on Darwin
     @skipIfFreeBSD  # llvm.org/pr22411: Failure presumably due to known thread races
     @skipIfRemote   # We do not currently support remote debugging via the MI.
     def test_lldbmi_gdb_set_target_async_default(self):
@@ -41,6 +42,7 @@ class MiGdbSetShowTestCase(lldbmi_testca
     @expectedFailureAll(
         oslist=["windows"],
         bugnumber="llvm.org/pr22274: need a pexpect replacement for windows")
+    @skipIfDarwin   # pexpect is known to be unreliable on Darwin
     @skipIfFreeBSD  # llvm.org/pr22411: Failure presumably due to known thread races
     @expectedFlakeyLinux("llvm.org/pr26028")  # Fails in ~1% of cases
     @skipIfRemote   # We do not currently support remote debugging via the MI.
@@ -74,6 +76,7 @@ class MiGdbSetShowTestCase(lldbmi_testca
         oslist=["windows"],
         bugnumber="llvm.org/pr22274: need a pexpect replacement for windows")
     @skipIfFreeBSD  # llvm.org/pr22411: Failure presumably due to known thread races
+    @skipIfDarwin   # pexpect is known to be unreliable on Darwin
     @expectedFailureAll(
         oslist=["linux"],
         bugnumber="Failing in ~11/600 dosep runs (build 3120-3122)")
@@ -103,6 +106,7 @@ class MiGdbSetShowTestCase(lldbmi_testca
     @expectedFailureAll(
         oslist=["windows"],
         bugnumber="llvm.org/pr22274: need a pexpect replacement for windows")
+    @skipIfDarwin   # pexpect is known to be unreliable on Darwin
     @skipIfFreeBSD  # llvm.org/pr22411: Failure presumably due to known thread races
     @skipIfRemote   # We do not currently support remote debugging via the MI.
     def test_lldbmi_gdb_show_target_async(self):
@@ -117,6 +121,7 @@ class MiGdbSetShowTestCase(lldbmi_testca
     @expectedFailureAll(
         oslist=["windows"],
         bugnumber="llvm.org/pr22274: need a pexpect replacement for windows")
+    @skipIfDarwin   # pexpect is known to be unreliable on Darwin
     @skipIfFreeBSD  # llvm.org/pr22411: Failure presumably due to known thread races
     @skipIfRemote   # We do not currently support remote debugging via the MI.
     def test_lldbmi_gdb_show_language(self):
@@ -142,6 +147,7 @@ class MiGdbSetShowTestCase(lldbmi_testca
     @expectedFailureAll(
         oslist=["windows"],
         bugnumber="llvm.org/pr22274: need a pexpect replacement for windows")
+    @skipIfDarwin   # pexpect is known to be unreliable on Darwin
     @unittest2.expectedFailure("-gdb-set ignores unknown properties")
     @skipIfRemote   # We do not currently support remote debugging via the MI.
     def test_lldbmi_gdb_set_unknown(self):
@@ -156,6 +162,7 @@ class MiGdbSetShowTestCase(lldbmi_testca
     @expectedFailureAll(
         oslist=["windows"],
         bugnumber="llvm.org/pr22274: need a pexpect replacement for windows")
+    @skipIfDarwin   # pexpect is known to be unreliable on Darwin
     @unittest2.expectedFailure("-gdb-show ignores unknown properties")
     @skipIfRemote   # We do not currently support remote debugging via the MI.
     def test_lldbmi_gdb_show_unknown(self):
@@ -170,6 +177,7 @@ class MiGdbSetShowTestCase(lldbmi_testca
     @expectedFailureAll(
         oslist=["windows"],
         bugnumber="llvm.org/pr22274: need a pexpect replacement for windows")
+    @skipIfDarwin   # pexpect is known to be unreliable on Darwin
     @skipIfFreeBSD  # llvm.org/pr22411: Failure presumably due to known thread races
     @skipIfLinux  # llvm.org/pr22841: lldb-mi tests fail on all Linux buildbots
     @skipIfRemote   # We do not currently support remote debugging via the MI.
@@ -219,6 +227,7 @@ class MiGdbSetShowTestCase(lldbmi_testca
 
     @skipIfWindows  # llvm.org/pr24452: Get lldb-mi tests working on Windows
     @skipIfFreeBSD  # llvm.org/pr22411: Failure presumably due to known thread races
+    @skipIfDarwin   # pexpect is known to be unreliable on Darwin
     @skipIfRemote   # We do not currently support remote debugging via the MI.
     @expectedFailureAll(
         bugnumber="llvm.org/pr31485: data-disassemble doesn't follow flavor settings")

Modified: lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/data/TestMiData.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/data/TestMiData.py?rev=326739&r1=326738&r2=326739&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/data/TestMiData.py (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/data/TestMiData.py Mon Mar  5 12:16:52 2018
@@ -18,6 +18,7 @@ class MiDataTestCase(lldbmi_testcase.MiT
 
     @skipIfRemote   # We do not currently support remote debugging via the MI.
     @skipIfWindows  # llvm.org/pr24452: Get lldb-mi tests working on Windows
+    @skipIfDarwin   # pexpect is known to be unreliable on Darwin
     @skipIfFreeBSD  # llvm.org/pr22411: Failure presumably due to known thread races
     def test_lldbmi_data_disassemble(self):
         """Test that 'lldb-mi --interpreter' works for -data-disassemble."""
@@ -89,6 +90,7 @@ class MiDataTestCase(lldbmi_testcase.MiT
 
     @skipIfRemote   # We do not currently support remote debugging via the MI.
     @skipIfWindows  # llvm.org/pr24452: Get lldb-mi tests working on Windows
+    @skipIfDarwin   # pexpect is known to be unreliable on Darwin
     @skipIfFreeBSD  # llvm.org/pr22411: Failure presumably due to known thread races
     def test_lldbmi_data_read_memory_bytes_global(self):
         """Test that -data-read-memory-bytes can access global buffers."""
@@ -132,6 +134,7 @@ class MiDataTestCase(lldbmi_testcase.MiT
 
     @skipIfRemote   # We do not currently support remote debugging via the MI.
     @skipIfWindows  # llvm.org/pr24452: Get lldb-mi tests working on Windows
+    @skipIfDarwin   # pexpect is known to be unreliable on Darwin
     @skipIfFreeBSD  # llvm.org/pr22411: Failure presumably due to known thread races
     def test_lldbmi_data_read_memory_bytes_local(self):
         """Test that -data-read-memory-bytes can access local buffers."""
@@ -272,6 +275,7 @@ class MiDataTestCase(lldbmi_testcase.MiT
 
     @skipIfRemote   # We do not currently support remote debugging via the MI.
     @skipIfWindows  # llvm.org/pr24452: Get lldb-mi tests working on Windows
+    @skipIfDarwin   # pexpect is known to be unreliable on Darwin
     @skipIfFreeBSD  # llvm.org/pr22411: Failure presumably due to known thread races
     def test_lldbmi_data_list_register_names(self):
         """Test that 'lldb-mi --interpreter' works for -data-list-register-names."""
@@ -299,6 +303,7 @@ class MiDataTestCase(lldbmi_testcase.MiT
 
     @skipIfRemote   # We do not currently support remote debugging via the MI.
     @skipIfWindows  # llvm.org/pr24452: Get lldb-mi tests working on Windows
+    @skipIfDarwin   # pexpect is known to be unreliable on Darwin
     @skipIfFreeBSD  # llvm.org/pr22411: Failure presumably due to known thread races
     def test_lldbmi_data_list_register_values(self):
         """Test that 'lldb-mi --interpreter' works for -data-list-register-values."""
@@ -328,6 +333,7 @@ class MiDataTestCase(lldbmi_testcase.MiT
 
     @skipIfRemote   # We do not currently support remote debugging via the MI.
     @skipIfWindows  # llvm.org/pr24452: Get lldb-mi tests working on Windows
+    @skipIfDarwin   # pexpect is known to be unreliable on Darwin
     @skipIfFreeBSD  # llvm.org/pr22411: Failure presumably due to known thread races
     def test_lldbmi_data_info_line(self):
         """Test that 'lldb-mi --interpreter' works for -data-info-line."""
@@ -383,6 +389,7 @@ class MiDataTestCase(lldbmi_testcase.MiT
 
     @skipIfRemote   # We do not currently support remote debugging via the MI.
     @skipIfWindows  # llvm.org/pr24452: Get lldb-mi tests working on Windows
+    @skipIfDarwin   # pexpect is known to be unreliable on Darwin
     @skipIfFreeBSD  # llvm.org/pr22411: Failure presumably due to known thread races
     def test_lldbmi_data_evaluate_expression(self):
         """Test that 'lldb-mi --interpreter' works for -data-evaluate-expression."""

Modified: lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/signal/TestMiSignal.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/signal/TestMiSignal.py?rev=326739&r1=326738&r2=326739&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/signal/TestMiSignal.py (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/signal/TestMiSignal.py Mon Mar  5 12:16:52 2018
@@ -89,7 +89,7 @@ class MiSignalTestCase(lldbmi_testcase.M
         self.expect("\*stopped,reason=\"breakpoint-hit\"")
 
     @skipIfWindows  # llvm.org/pr24452: Get lldb-mi tests working on Windows
-    @skipUnlessDarwin
+    @skipIfDarwin   # pexpect is known to be unreliable on Darwin
     @skipIfRemote   # We do not currently support remote debugging via the MI.
     def test_lldbmi_stopped_when_stopatentry_remote(self):
         """Test that 'lldb-mi --interpreter' notifies after it was stopped on entry (remote)."""




More information about the lldb-commits mailing list