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@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@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits >
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits