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

Pavel Labath via lldb-commits lldb-commits at lists.llvm.org
Tue Mar 6 02:59:18 PST 2018


For the record, our bots don't run any of the lldb-mi tests. I don't know
if it is an issue with pexpect, the way we are using, or genuine issues,
but I found pretty much all of lldb-mi tests flaky, and it's code too hairy
to understand what is going on.


On Mon, 5 Mar 2018 at 20:19, Vedant Kumar via lldb-commits <
lldb-commits at lists.llvm.org> wrote:

> 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)."""
>
>
> _______________________________________________
> lldb-commits mailing list
> lldb-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20180306/c092ebc3/attachment-0001.html>


More information about the lldb-commits mailing list